From 6b8be26f08b4aa3fce5bb51ce6b5e7ac9c3a8e53 Mon Sep 17 00:00:00 2001 From: fanyong Date: Tue, 21 Nov 2006 06:04:40 +0000 Subject: [PATCH] Miss to set spec->u.sp_ea.fid for remote object_create with DEFAULT_ACL before. --- lustre/cmm/cmm_object.c | 1 + lustre/cmm/mdc_object.c | 1 + lustre/mdd/mdd_object.c | 2 ++ lustre/mdt/mdt_lib.c | 1 + 4 files changed, 5 insertions(+) diff --git a/lustre/cmm/cmm_object.c b/lustre/cmm/cmm_object.c index 0aff9a2..fb489ba 100644 --- a/lustre/cmm/cmm_object.c +++ b/lustre/cmm/cmm_object.c @@ -878,6 +878,7 @@ static int cmr_create(const struct lu_env *env, struct md_object *mo_p, #ifdef CONFIG_FS_POSIX_ACL if (tmp_ma->ma_valid & MA_ACL_DEF) { + spec->u.sp_ea.fid = spec->u.sp_pfid; spec->u.sp_ea.eadata = tmp_ma->ma_acl; spec->u.sp_ea.eadatalen = tmp_ma->ma_acl_size; spec->sp_cr_flags |= MDS_CREATE_RMT_ACL; diff --git a/lustre/cmm/mdc_object.c b/lustre/cmm/mdc_object.c index 888ee34..8049fb1 100644 --- a/lustre/cmm/mdc_object.c +++ b/lustre/cmm/mdc_object.c @@ -280,6 +280,7 @@ static int mdc_object_create(const struct lu_env *env, } else if (spec->sp_cr_flags & MDS_CREATE_RMT_ACL) { symname = spec->u.sp_ea.eadata; symlen = spec->u.sp_ea.eadatalen; + mci->mci_opdata.op_fid1 = *(spec->u.sp_ea.fid); mci->mci_opdata.op_flags |= MDS_CREATE_RMT_ACL; #endif } else { diff --git a/lustre/mdd/mdd_object.c b/lustre/mdd/mdd_object.c index 317497e..cdede2c 100644 --- a/lustre/mdd/mdd_object.c +++ b/lustre/mdd/mdd_object.c @@ -1049,6 +1049,8 @@ static int mdd_object_create(const struct lu_env *env, else ma->ma_attr.la_valid |= LA_MODE; } + + pfid = spec->u.sp_ea.fid; } #endif rc = mdd_object_initialize(env, pfid, mdd_obj, ma, handle); diff --git a/lustre/mdt/mdt_lib.c b/lustre/mdt/mdt_lib.c index 05b6399..003a359 100644 --- a/lustre/mdt/mdt_lib.c +++ b/lustre/mdt/mdt_lib.c @@ -828,6 +828,7 @@ static int mdt_create_unpack(struct mdt_thread_info *info) sp->u.sp_ea.eadata = req_capsule_client_get(pill, &RMF_EADATA); sp->u.sp_ea.eadatalen = req_capsule_get_size(pill, &RMF_EADATA, RCL_CLIENT); + sp->u.sp_ea.fid = rr->rr_fid1; RETURN(0); } #endif -- 1.8.3.1