Whamcloud - gitweb
LU-11146 lustre: fix setstripe for specific osts upon dir 14/32814/16
authorWang Shilong <wshilong@ddn.com>
Wed, 11 Jul 2018 14:11:47 +0000 (22:11 +0800)
committerOleg Drokin <green@whamcloud.com>
Thu, 23 Aug 2018 07:18:13 +0000 (07:18 +0000)
commit083d62ee6de5ac6cee95c1d2f86b62b75034093b
tree5670dbab28e819e0e38fb0a795c47a6e96044532
parent3a564cc74a3ba56374d7b34a98a639bfb712ed55
LU-11146 lustre: fix setstripe for specific osts upon dir

LOV_USER_MAGIC_SPECIFIC function is broken and it
was not available for setting directory.

1)llite doesn't handle LOV_USER_MAGIC_SPECIFIC case
properly for dir {set,get}_stripe, and ioctl
LL_IOC_LOV_SETSTRIPE did not alloc enough buf,
copy ost lists from userspace.

2)lod_get_default_lov_striping() did not handle
LOV_USER_MAGIC_SPECIFIC type that newly created
files/dir won't inherit parent setting well.

3)there is not any case to cover lfs setstripe
'-o' interface which make it hard to figure out
when this function was broken.

Change-Id: Icc2ee60a474e5e565db12b35a9a38fde65b05bbd
Signed-off-by: Wang Shilong <wshilong@ddn.com>
Reviewed-on: https://review.whamcloud.com/32814
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Bobi Jam <bobijam@hotmail.com>
Reviewed-by: Jian Yu <yujian@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
lustre/llite/dir.c
lustre/lod/lod_internal.h
lustre/lod/lod_object.c
lustre/lod/lod_qos.c
lustre/tests/conf-sanity.sh
lustre/tests/sanity.sh
lustre/utils/liblustreapi.c