mirror of https://gitee.com/openkylin/linux.git
Two bugfixes for OrangeFS.
One is a reference counting bug and the other is a typo in client minimum version. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAABAgAGBQJW/s+dAAoJEMyISHmv95KnmvwQALUnkjCgbe8d4621VfqX4yhS EEG6UtjaIw1C/lH0KS9dyw5yJwJmzEh5HBaLwxN48Gw75s+MznhCEy6ocBdqfblj 3DGfIv2/gmlsAxn/wdmlAmjRu/UdQj4m/QrmjrE430XScieo+onaTAFojFa2z/a3 Ux0mxSozog1b+XzTrXKu+64QNpasttlPYvpqV8nq/WBTsJBZgG8JjNnorhbZ0QH1 PpgA3iJcOYtHiCtjwKLbWk//iGvdDJaiUvSR/GWLUPiesM4JkZ3eUUtpfHCaMEC7 jZe5WeVMHXN8Vz/KBeE1TCU9n7MHtCSjri7CIjz/UzaXgnt+6JaUORfEzHr/1a5M Rtgp88VlIC23jUDgSQd6ncXr6DECCNUdQu63xeZB1aZg5GmkxhXRIzfj8if990hh o8J42X/D1q4iqMf85aPoie0mCIa0TcnEU8xJcDPSnkKMCrzRiu++xuLiNTfE4k0E FxQYylvBhNDoiwOREqw4SYcLYqxUhpAtN/qVLVtHwyXYwjIiHcl3ZJOD3EuKtk2D qwoNAzlCtgHDECbbr520en/kVdgI4zhKs5a3ufSwQm/wMVi02tw+HT+HeJyfJVjV e3WfwLsEM1f0fUizAJjosaXMwiE3bM7xor1kDAZYt1MQE+IdTE0LorC0ONVPTts+ 9kXoy9L/lvOhAJnpR4+Z =MLba -----END PGP SIGNATURE----- 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
This commit is contained in:
commit
22fed39775
|
@ -235,7 +235,7 @@ static int orangefs_readdir(struct file *file, struct dir_context *ctx)
|
|||
if (ret == -EIO && op_state_purged(new_op)) {
|
||||
gossip_err("%s: Client is down. Aborting readdir call.\n",
|
||||
__func__);
|
||||
goto out_slot;
|
||||
goto out_free_op;
|
||||
}
|
||||
|
||||
if (ret < 0 || new_op->downcall.status != 0) {
|
||||
|
@ -244,14 +244,14 @@ static int orangefs_readdir(struct file *file, struct dir_context *ctx)
|
|||
new_op->downcall.status);
|
||||
if (ret >= 0)
|
||||
ret = new_op->downcall.status;
|
||||
goto out_slot;
|
||||
goto out_free_op;
|
||||
}
|
||||
|
||||
dents_buf = new_op->downcall.trailer_buf;
|
||||
if (dents_buf == NULL) {
|
||||
gossip_err("Invalid NULL buffer in readdir response\n");
|
||||
ret = -ENOMEM;
|
||||
goto out_slot;
|
||||
goto out_free_op;
|
||||
}
|
||||
|
||||
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)
|
|||
out_vfree:
|
||||
gossip_debug(GOSSIP_DIR_DEBUG, "vfree %p\n", dents_buf);
|
||||
vfree(dents_buf);
|
||||
out_slot:
|
||||
orangefs_readdir_index_put(buffer_index);
|
||||
out_free_op:
|
||||
op_release(new_op);
|
||||
gossip_debug(GOSSIP_DIR_DEBUG, "orangefs_readdir returning %d\n", ret);
|
||||
|
|
|
@ -407,7 +407,7 @@ enum {
|
|||
* space. Zero signifies the upstream version of the kernel module.
|
||||
*/
|
||||
#define ORANGEFS_KERNEL_PROTO_VERSION 0
|
||||
#define ORANGEFS_MINIMUM_USERSPACE_VERSION 20904
|
||||
#define ORANGEFS_MINIMUM_USERSPACE_VERSION 20903
|
||||
|
||||
/*
|
||||
* describes memory regions to map in the ORANGEFS_DEV_MAP ioctl.
|
||||
|
|
Loading…
Reference in New Issue