• Qian Yingjin's avatar
    LU-11367 som: integrate LSOM with lfs find · 11aa7f87
    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: default avatarQian Yingjin <qian@ddn.com>
    Signed-off-by: default avatarAndreas Dilger <adilger@whamcloud.com>
    Change-Id: I21dfae7c2633dead5d83b438ec340fea4d3ebbe5
    Reviewed-on: https://review.whamcloud.com/35167
    Tested-by: default avatarjenkins <devops@whamcloud.com>
    Tested-by: default avatarMaloo <maloo@whamcloud.com>
    Reviewed-by: default avatarLi Xi <lixi@ddn.com>