From b99344dda425b78e006c49b1d2b22c75585ca306 Mon Sep 17 00:00:00 2001 From: Andreas Dilger Date: Thu, 12 Apr 2018 21:44:52 -0600 Subject: [PATCH] LU-6349 mds: remove obsolete MDS_VTX_BYPASS flag The MDS_VTX_BYPASS flag is only set and never checked. This is true since 2.3.53-66-g54fe979 "LU-2216 mdt: remove obsolete DNE code", but it was already obsolete for a long time before that. Test-Parameters: trivial Signed-off-by: Andreas Dilger Change-Id: Ia9510146326e71a134fef85dd8febf7b752cab07 Reviewed-on: https://review.whamcloud.com/31984 Tested-by: Jenkins Tested-by: Maloo Reviewed-by: Lai Siyao Reviewed-by: John L. Hammond Reviewed-by: Oleg Drokin --- lustre/include/uapi/linux/lustre/lustre_idl.h | 4 +- lustre/mdt/mdt_lib.c | 53 ++++++++++----------------- lustre/mdt/mdt_reint.c | 42 ++++++++++----------- lustre/ptlrpc/wiretest.c | 2 - lustre/utils/wirecheck.c | 1 - lustre/utils/wiretest.c | 2 - 6 files changed, 41 insertions(+), 63 deletions(-) diff --git a/lustre/include/uapi/linux/lustre/lustre_idl.h b/lustre/include/uapi/linux/lustre/lustre_idl.h index bc5a224..cf0281f 100644 --- a/lustre/include/uapi/linux/lustre/lustre_idl.h +++ b/lustre/include/uapi/linux/lustre/lustre_idl.h @@ -1832,11 +1832,11 @@ struct mdt_rec_setattr { enum mds_op_bias { /* MDS_CHECK_SPLIT = 1 << 0, obsolete before 2.3.58 */ MDS_CROSS_REF = 1 << 1, - MDS_VTX_BYPASS = 1 << 2, +/* MDS_VTX_BYPASS = 1 << 2, obsolete since 2.3.54 */ MDS_PERM_BYPASS = 1 << 3, /* MDS_SOM = 1 << 4, obsolete since 2.8.0 */ MDS_QUOTA_IGNORE = 1 << 5, - /* Was MDS_CLOSE_CLEANUP (1 << 6), No more used */ +/* MDS_CLOSE_CLEANUP = 1 << 6, obsolete since 2.3.51 */ MDS_KEEP_ORPHAN = 1 << 7, MDS_RECOV_OPEN = 1 << 8, MDS_DATA_MODIFIED = 1 << 9, diff --git a/lustre/mdt/mdt_lib.c b/lustre/mdt/mdt_lib.c index d2aeb80..83bf9d4 100644 --- a/lustre/mdt/mdt_lib.c +++ b/lustre/mdt/mdt_lib.c @@ -1342,7 +1342,6 @@ static int mdt_unlink_unpack(struct mdt_thread_info *info) { struct lu_ucred *uc = mdt_ucred(info); struct mdt_rec_unlink *rec; - struct md_attr *ma = &info->mti_attr; struct lu_attr *attr = &info->mti_attr.ma_attr; struct mdt_reint_record *rr = &info->mti_rr; struct req_capsule *pill = info->mti_pill; @@ -1362,28 +1361,23 @@ static int mdt_unlink_unpack(struct mdt_thread_info *info) uc->uc_suppgids[0] = rec->ul_suppgid1; uc->uc_suppgids[1] = -1; - attr->la_uid = rec->ul_fsuid; - attr->la_gid = rec->ul_fsgid; - rr->rr_fid1 = &rec->ul_fid1; - rr->rr_fid2 = &rec->ul_fid2; - attr->la_ctime = rec->ul_time; - attr->la_mtime = rec->ul_time; - attr->la_mode = rec->ul_mode; - attr->la_valid = LA_UID | LA_GID | LA_CTIME | LA_MTIME | LA_MODE; + attr->la_uid = rec->ul_fsuid; + attr->la_gid = rec->ul_fsgid; + rr->rr_fid1 = &rec->ul_fid1; + rr->rr_fid2 = &rec->ul_fid2; + attr->la_ctime = rec->ul_time; + attr->la_mtime = rec->ul_time; + attr->la_mode = rec->ul_mode; + attr->la_valid = LA_UID | LA_GID | LA_CTIME | LA_MTIME | LA_MODE; rc = mdt_name_unpack(pill, &RMF_NAME, &rr->rr_name, 0); if (rc < 0) RETURN(rc); - if (rec->ul_bias & MDS_VTX_BYPASS) - ma->ma_attr_flags |= MDS_VTX_BYPASS; - else - ma->ma_attr_flags &= ~MDS_VTX_BYPASS; - info->mti_spec.no_create = !!req_is_replay(mdt_info_req(info)); - rc = mdt_dlmreq_unpack(info); - RETURN(rc); + rc = mdt_dlmreq_unpack(info); + RETURN(rc); } static int mdt_rmentry_unpack(struct mdt_thread_info *info) @@ -1396,7 +1390,6 @@ static int mdt_rename_unpack(struct mdt_thread_info *info) { struct lu_ucred *uc = mdt_ucred(info); struct mdt_rec_rename *rec; - struct md_attr *ma = &info->mti_attr; struct lu_attr *attr = &info->mti_attr.ma_attr; struct mdt_reint_record *rr = &info->mti_rr; struct req_capsule *pill = info->mti_pill; @@ -1416,15 +1409,15 @@ static int mdt_rename_unpack(struct mdt_thread_info *info) uc->uc_suppgids[0] = rec->rn_suppgid1; uc->uc_suppgids[1] = rec->rn_suppgid2; - attr->la_uid = rec->rn_fsuid; - attr->la_gid = rec->rn_fsgid; - rr->rr_fid1 = &rec->rn_fid1; - rr->rr_fid2 = &rec->rn_fid2; - attr->la_ctime = rec->rn_time; - attr->la_mtime = rec->rn_time; - /* rename_tgt contains the mode already */ - attr->la_mode = rec->rn_mode; - attr->la_valid = LA_UID | LA_GID | LA_CTIME | LA_MTIME | LA_MODE; + attr->la_uid = rec->rn_fsuid; + attr->la_gid = rec->rn_fsgid; + rr->rr_fid1 = &rec->rn_fid1; + rr->rr_fid2 = &rec->rn_fid2; + attr->la_ctime = rec->rn_time; + attr->la_mtime = rec->rn_time; + /* rename_tgt contains the mode already */ + attr->la_mode = rec->rn_mode; + attr->la_valid = LA_UID | LA_GID | LA_CTIME | LA_MTIME | LA_MODE; rc = mdt_name_unpack(pill, &RMF_NAME, &rr->rr_name, 0); if (rc < 0) @@ -1434,11 +1427,6 @@ static int mdt_rename_unpack(struct mdt_thread_info *info) if (rc < 0) RETURN(rc); - if (rec->rn_bias & MDS_VTX_BYPASS) - ma->ma_attr_flags |= MDS_VTX_BYPASS; - else - ma->ma_attr_flags &= ~MDS_VTX_BYPASS; - if (rec->rn_bias & MDS_RENAME_MIGRATE) { req_capsule_extend(info->mti_pill, &RQF_MDS_REINT_MIGRATE); rc = mdt_close_handle_unpack(info); @@ -1447,8 +1435,7 @@ static int mdt_rename_unpack(struct mdt_thread_info *info) info->mti_spec.sp_migrate_close = 1; } - info->mti_spec.no_create = !!req_is_replay(mdt_info_req(info)); - + info->mti_spec.no_create = !!req_is_replay(mdt_info_req(info)); rc = mdt_dlmreq_unpack(info); diff --git a/lustre/mdt/mdt_reint.c b/lustre/mdt/mdt_reint.c index 7f9b8f9..f307bd6 100644 --- a/lustre/mdt/mdt_reint.c +++ b/lustre/mdt/mdt_reint.c @@ -610,8 +610,8 @@ static int mdt_attr_set(struct mdt_thread_info *info, struct mdt_object *mo, if (rc > 0) cos_incompat = true; - lh = &info->mti_lh[MDT_LH_PARENT]; - mdt_lock_reg_init(lh, LCK_PW); + lh = &info->mti_lh[MDT_LH_PARENT]; + mdt_lock_reg_init(lh, LCK_PW); /* Even though the new MDT will grant PERM lock to the old * client, but the old client will almost ignore that during @@ -631,41 +631,37 @@ static int mdt_attr_set(struct mdt_thread_info *info, struct mdt_object *mo, if (rc != 0) GOTO(out_unlock, rc); - /* all attrs are packed into mti_attr in unpack_setattr */ - mdt_fail_write(info->mti_env, info->mti_mdt->mdt_bottom, - OBD_FAIL_MDS_REINT_SETATTR_WRITE); - - /* This is only for set ctime when rename's source is on remote MDS. */ - if (unlikely(ma->ma_attr.la_valid == LA_CTIME)) - ma->ma_attr_flags |= MDS_VTX_BYPASS; + /* all attrs are packed into mti_attr in unpack_setattr */ + mdt_fail_write(info->mti_env, info->mti_mdt->mdt_bottom, + OBD_FAIL_MDS_REINT_SETATTR_WRITE); - /* VBR: update version if attr changed are important for recovery */ - if (do_vbr) { - /* update on-disk version of changed object */ + /* VBR: update version if attr changed are important for recovery */ + if (do_vbr) { + /* update on-disk version of changed object */ tgt_vbr_obj_set(info->mti_env, mdt_obj2dt(mo)); - rc = mdt_version_get_check_save(info, mo, 0); - if (rc) - GOTO(out_unlock, rc); - } + rc = mdt_version_get_check_save(info, mo, 0); + if (rc) + GOTO(out_unlock, rc); + } /* Ensure constant striping during chown(). See LU-2789. */ if (ma->ma_attr.la_valid & (LA_UID|LA_GID|LA_PROJID)) mutex_lock(&mo->mot_lov_mutex); - /* all attrs are packed into mti_attr in unpack_setattr */ - rc = mo_attr_set(info->mti_env, mdt_object_child(mo), ma); + /* all attrs are packed into mti_attr in unpack_setattr */ + rc = mo_attr_set(info->mti_env, mdt_object_child(mo), ma); if (ma->ma_attr.la_valid & (LA_UID|LA_GID|LA_PROJID)) mutex_unlock(&mo->mot_lov_mutex); - if (rc != 0) - GOTO(out_unlock, rc); + if (rc != 0) + GOTO(out_unlock, rc); mdt_dom_obj_lvb_update(info->mti_env, mo, false); - EXIT; + EXIT; out_unlock: mdt_unlock_slaves(info, mo, lockpart, s0_lh, s0_obj, einfo, rc); - mdt_object_unlock(info, mo, lh, rc); - return rc; + mdt_object_unlock(info, mo, lh, rc); + return rc; } /** diff --git a/lustre/ptlrpc/wiretest.c b/lustre/ptlrpc/wiretest.c index f9bbaf0..fed37ca 100644 --- a/lustre/ptlrpc/wiretest.c +++ b/lustre/ptlrpc/wiretest.c @@ -2203,8 +2203,6 @@ void lustre_assert_wire_constants(void) LASSERTF(MDS_CROSS_REF == 0x00000002UL, "found 0x%.8xUL\n", (unsigned)MDS_CROSS_REF); - LASSERTF(MDS_VTX_BYPASS == 0x00000004UL, "found 0x%.8xUL\n", - (unsigned)MDS_VTX_BYPASS); LASSERTF(MDS_PERM_BYPASS == 0x00000008UL, "found 0x%.8xUL\n", (unsigned)MDS_PERM_BYPASS); LASSERTF(MDS_QUOTA_IGNORE == 0x00000020UL, "found 0x%.8xUL\n", diff --git a/lustre/utils/wirecheck.c b/lustre/utils/wirecheck.c index 22723db..bcb6e55 100644 --- a/lustre/utils/wirecheck.c +++ b/lustre/utils/wirecheck.c @@ -1011,7 +1011,6 @@ check_mds_op_bias(void) { BLANK_LINE(); CHECK_VALUE_X(MDS_CROSS_REF); - CHECK_VALUE_X(MDS_VTX_BYPASS); CHECK_VALUE_X(MDS_PERM_BYPASS); CHECK_VALUE_X(MDS_QUOTA_IGNORE); CHECK_VALUE_X(MDS_KEEP_ORPHAN); diff --git a/lustre/utils/wiretest.c b/lustre/utils/wiretest.c index 6972d80..b66a928 100644 --- a/lustre/utils/wiretest.c +++ b/lustre/utils/wiretest.c @@ -2224,8 +2224,6 @@ void lustre_assert_wire_constants(void) LASSERTF(MDS_CROSS_REF == 0x00000002UL, "found 0x%.8xUL\n", (unsigned)MDS_CROSS_REF); - LASSERTF(MDS_VTX_BYPASS == 0x00000004UL, "found 0x%.8xUL\n", - (unsigned)MDS_VTX_BYPASS); LASSERTF(MDS_PERM_BYPASS == 0x00000008UL, "found 0x%.8xUL\n", (unsigned)MDS_PERM_BYPASS); LASSERTF(MDS_QUOTA_IGNORE == 0x00000020UL, "found 0x%.8xUL\n", -- 1.8.3.1