Whamcloud - gitweb
LU-11625 ofd: handle upgraded filter_fid properly 27/33627/5
authorAndreas Dilger <adilger@whamcloud.com>
Wed, 7 Nov 2018 02:40:18 +0000 (19:40 -0700)
committerOleg Drokin <green@whamcloud.com>
Wed, 23 Jan 2019 09:18:37 +0000 (09:18 +0000)
commit381a8cdd527ce4deccfc3f7eb461892f6f2f3fff
treedcf5528658b13ac322b95230caa83889b8662861
parent5e62552e7fc6e9da4068bb29f62eb2cf7a42970e
LU-11625 ofd: handle upgraded filter_fid properly

Since there have been several iterations of struct filter_fid stored
on disk, the current code wasn't checking for all of the possible
cases when trying to decide what action to take when accessing and
upgrading the xattr for new capabilities.

Properly check for the various different struct filter_fid sizes and
handle them appropriately.  Add a more verbose description of the
various cases so that this is more clear to others in the future.

Add decoding of filter_fid fields added for FLR in 2.11.

We should already be testing for upgrading the filter_fid xattr
from different OST versions in conf-sanity test_32d.

Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Change-Id: Ifef2292296236cb06ff7e8cd50caff4b133ebbe5
Reviewed-on: https://review.whamcloud.com/33627
Tested-by: Jenkins
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Alex Zhuravlev <bzzz@whamcloud.com>
Reviewed-by: Lai Siyao <lai.siyao@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
lustre/include/lustre_fid.h
lustre/include/uapi/linux/lustre/lustre_user.h
lustre/lod/lod_internal.h
lustre/osd-ldiskfs/osd_handler.c
lustre/osd-ldiskfs/osd_internal.h
lustre/osd-ldiskfs/osd_scrub.c
lustre/utils/ll_decode_filter_fid.c