From bf7b0b60b1710b19561a2f7c79c3be4d09842b2c Mon Sep 17 00:00:00 2001 From: Iblis Lin Date: Mon, 31 Jul 2017 11:25:07 +0800 Subject: posix: fix incorrect xattr list handling on FreeBSD Change-Id: I5be157259f0b665640aaa1eda68063bb19fd7b3d BUG: 1484246 Signed-off-by: Pellaeon Lin Signed-off-by: Jiffin Tony Thottan Reviewed-on: https://review.gluster.org/17917 Smoke: Gluster Build System Reviewed-by: Amar Tumballi Reviewed-by: Niels de Vos CentOS-regression: Gluster Build System --- libglusterfs/src/syscall.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'libglusterfs/src/syscall.c') diff --git a/libglusterfs/src/syscall.c b/libglusterfs/src/syscall.c index a7d4402808d..3a3d5318baa 100644 --- a/libglusterfs/src/syscall.c +++ b/libglusterfs/src/syscall.c @@ -492,7 +492,10 @@ sys_llistxattr (const char *path, char *list, size_t size) #endif #ifdef GF_BSD_HOST_OS - return extattr_list_link (path, EXTATTR_NAMESPACE_USER, list, size); + ssize_t ret = extattr_list_link (path, EXTATTR_NAMESPACE_USER, + list, size); + gf_extattr_list_reshape (list, ret); + return ret; #endif #ifdef GF_SOLARIS_HOST_OS @@ -608,7 +611,10 @@ sys_flistxattr (int filedes, char *list, size_t size) #endif #ifdef GF_BSD_HOST_OS - return extattr_list_fd (filedes, EXTATTR_NAMESPACE_USER, list, size); + ssize_t ret = extattr_list_fd (filedes, EXTATTR_NAMESPACE_USER, + list, size); + gf_extattr_list_reshape (list, ret); + return ret; #endif #ifdef GF_SOLARIS_HOST_OS -- cgit