OpenCloudOS-Kernel/fs/ceph
Chengguang Xu f017754d69 ceph: add retry logic for error -ERANGE in ceph_get_acl()
When the size of acl extended attribution is larger than pre-allocated
value buffer size, we will hit error '-ERANGE' and it's probabaly caused
by concurrent get/set acl from different clients. In this case, current
logic just sets acl to NULL so that we cannot get proper information but
the operation looks successful.

This patch adds retry logic for error -ERANGE and return -EIO if fail
from the retry. Additionally, print real errno when failing from
__ceph_getxattr().

Signed-off-by: Chengguang Xu <cgxu519@gmx.com>
Reviewed-by: "Yan, Zheng" <zyan@redhat.com>
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2018-08-02 21:26:11 +02:00
..
Kconfig fs/*/Kconfig: drop links to 404-compliant http://acl.bestbits.at 2018-01-01 12:45:37 -07:00
Makefile ceph: quota: add initial infrastructure to support cephfs quotas 2018-04-02 11:17:51 +02:00
acl.c ceph: add retry logic for error -ERANGE in ceph_get_acl() 2018-08-02 21:26:11 +02:00
addr.c vfs/y2038: inode timestamps conversion to timespec64 2018-06-15 07:31:07 +09:00
cache.c vfs: change inode times to use struct timespec64 2018-06-05 16:57:31 -07:00
cache.h ceph: improve fscache revalidation 2016-06-01 10:31:50 +02:00
caps.c vfs/y2038: inode timestamps conversion to timespec64 2018-06-15 07:31:07 +09:00
ceph_frag.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
debugfs.c libceph, ceph: change permission for readonly debugfs entries 2018-04-02 10:12:45 +02:00
dir.c ceph: support file lock on directory 2018-06-04 20:45:56 +02:00
export.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
file.c vfs/y2038: inode timestamps conversion to timespec64 2018-06-15 07:31:07 +09:00
inode.c ceph: fix dentry leak in splice_dentry() 2018-06-26 18:42:44 +02:00
ioctl.c libceph, ceph: move ceph_calc_file_object_mapping() to striper.c 2018-04-02 10:12:43 +02:00
ioctl.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
locks.c ceph: add newline to end of debug message format 2018-04-02 10:12:44 +02:00
mds_client.c vfs/y2038: inode timestamps conversion to timespec64 2018-06-15 07:31:07 +09:00
mds_client.h ceph: quota: add counter for snaprealms with quota 2018-04-02 11:17:53 +02:00
mdsmap.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
quota.c ceph: quota: report root dir quota usage in statfs 2018-04-02 11:17:53 +02:00
snap.c vfs: change inode times to use struct timespec64 2018-06-05 16:57:31 -07:00
strings.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
super.c ceph: show ino32 if the value is different with default 2018-06-04 20:46:02 +02:00
super.h ceph: quota: report root dir quota usage in statfs 2018-04-02 11:17:53 +02:00
xattr.c ceph: always get rstat from auth mds 2018-06-04 20:45:55 +02:00