Skip to content

Commit 22fed39

Browse files
committed
Merge tag 'for-linus' of git://github.com/martinbrandenburg/linux
Pull OrangeFS fixes from Martin Brandenburg: "Two bugfixes for OrangeFS. One is a reference counting bug and the other is a typo in client minimum version" * tag 'for-linus' of git://github.com/martinbrandenburg/linux: orangefs: minimum userspace version is 2.9.3 orangefs: don't put readdir slot twice
2 parents 4fff505 + 878dfd3 commit 22fed39

File tree

2 files changed

+4
-6
lines changed

2 files changed

+4
-6
lines changed

fs/orangefs/dir.c

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -235,7 +235,7 @@ static int orangefs_readdir(struct file *file, struct dir_context *ctx)
235235
if (ret == -EIO && op_state_purged(new_op)) {
236236
gossip_err("%s: Client is down. Aborting readdir call.\n",
237237
__func__);
238-
goto out_slot;
238+
goto out_free_op;
239239
}
240240

241241
if (ret < 0 || new_op->downcall.status != 0) {
@@ -244,14 +244,14 @@ static int orangefs_readdir(struct file *file, struct dir_context *ctx)
244244
new_op->downcall.status);
245245
if (ret >= 0)
246246
ret = new_op->downcall.status;
247-
goto out_slot;
247+
goto out_free_op;
248248
}
249249

250250
dents_buf = new_op->downcall.trailer_buf;
251251
if (dents_buf == NULL) {
252252
gossip_err("Invalid NULL buffer in readdir response\n");
253253
ret = -ENOMEM;
254-
goto out_slot;
254+
goto out_free_op;
255255
}
256256

257257
bytes_decoded = decode_dirents(dents_buf, new_op->downcall.trailer_size,
@@ -363,8 +363,6 @@ static int orangefs_readdir(struct file *file, struct dir_context *ctx)
363363
out_vfree:
364364
gossip_debug(GOSSIP_DIR_DEBUG, "vfree %p\n", dents_buf);
365365
vfree(dents_buf);
366-
out_slot:
367-
orangefs_readdir_index_put(buffer_index);
368366
out_free_op:
369367
op_release(new_op);
370368
gossip_debug(GOSSIP_DIR_DEBUG, "orangefs_readdir returning %d\n", ret);

fs/orangefs/protocol.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -407,7 +407,7 @@ enum {
407407
* space. Zero signifies the upstream version of the kernel module.
408408
*/
409409
#define ORANGEFS_KERNEL_PROTO_VERSION 0
410-
#define ORANGEFS_MINIMUM_USERSPACE_VERSION 20904
410+
#define ORANGEFS_MINIMUM_USERSPACE_VERSION 20903
411411

412412
/*
413413
* describes memory regions to map in the ORANGEFS_DEV_MAP ioctl.

0 commit comments

Comments
 (0)