-
Qian Yingjin authored
The patch integrates LSOM functionality with lfs find so that it is possible to use LSOM functionality directly on the client. The MDS fills in the mbo_size and mbo_blocks fields from the LSOM xattr, if the actual size/blocks are not available, and then set new OBD_MD_FLLSIZE and OBD_MD_FLLBLOCKS flags in the reply so that the client knows these fields are valid. The lfs find command adds "-l|--lazy" option to allow the use of LSOM data from the MDS. Add a new version of ioctl(LL_IOC_MDC_GETINFO) call that also returns valid flags from the MDS RPC to userspace in struct lov_user_mds_data so that it is possible to determine whether the size and blocks are returned by the call. The old LL_IOC_MDC_GETINFO ioctl number is renamed to LL_IOC_MDC_GETINFO_OLD and is binary compatible, but newly-compiled applications will use the new struct lov_user_mds_data. New llapi interfaces llapi_get_lum_file(), llapi_get_lum_dir(), llapi_get_lum_file_fd(), llapi_get_lum_dir_fd() are added to fetch valid stat() attributes and LOV info to the user. Signed-off-by:
Qian Yingjin <qian@ddn.com> Signed-off-by:
Andreas Dilger <adilger@whamcloud.com> Change-Id: I21dfae7c2633dead5d83b438ec340fea4d3ebbe5 Reviewed-on: https://review.whamcloud.com/35167 Tested-by:
jenkins <devops@whamcloud.com> Tested-by:
Maloo <maloo@whamcloud.com> Reviewed-by:
Li Xi <lixi@ddn.com>
11aa7f87