Whamcloud - gitweb
LU-18108 idl: deprecate rr_mirror_id usage 88/55988/10
authorAndreas Dilger <adilger@whamcloud.com>
Fri, 9 Aug 2024 22:24:00 +0000 (16:24 -0600)
committerOleg Drokin <green@whamcloud.com>
Sun, 8 Sep 2024 16:03:21 +0000 (16:03 +0000)
commite56829645671de4d7fc628e075cdade840e89f80
treedae1936c757d5fc8fd224b3e4bb4ee8a24a4b7cf
parentbc927408f63bc4b64a81f9f25c95445005bb8f66
LU-18108 idl: deprecate rr_mirror_id usage

The rr_mirror_id_old field used the last reserved field in
struct mdt_rec_reint but is unused for any other reint type.
There are lots of unused fields in this struct that could be
used instead, so rr_umask was chosen for rs_mirror_id_new
since it is unlikely that a file resync will ever need it.
The other rs_padding fields could potentially be needed at
some point (timestamps or size/blocks) so they were not used.

This field is only used by "lfs mirror resync" operations, so
its usage is limited during normal operations, and only in a
few small functions, so the impact of this change is minimal.
It still needs interoperability, but the number of sites using
FLR mirroring is still not very widespread even today, so will
help shorten the time that interop needs to be maintained, but
I didn't add a LUSTRE_VERSION_CODE check for this yet.

After the rr_mirror_id_old field is no longer being used, it
could revert to a single __u32 and be used for something else.

Test-Parameters: testlist=sanity-flr serverversion=2.15
Test-Parameters: testlist=sanity-flr clientversion=2.15
Fixes: 14171e787d ("LU-10258 lfs: lfs mirror write command")
Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Change-Id: I5b760d3bb359ff28ca5c2b299880f00e953ebbe5
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/55988
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Lai Siyao <lai.siyao@whamcloud.com>
Reviewed-by: Feng Lei <flei@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
lustre/include/lustre_export.h
lustre/include/uapi/linux/lustre/lustre_idl.h
lustre/llite/llite_lib.c
lustre/mdc/mdc_reint.c
lustre/mdt/mdt_lib.c
lustre/obdclass/lprocfs_status.c
lustre/ptlrpc/pack_generic.c
lustre/ptlrpc/wiretest.c
lustre/utils/wirecheck.c
lustre/utils/wiretest.c