Whamcloud - gitweb
Miss to set spec->u.sp_ea.fid for remote object_create with DEFAULT_ACL before.
authorfanyong <fanyong>
Tue, 21 Nov 2006 06:04:40 +0000 (06:04 +0000)
committerfanyong <fanyong>
Tue, 21 Nov 2006 06:04:40 +0000 (06:04 +0000)
lustre/cmm/cmm_object.c
lustre/cmm/mdc_object.c
lustre/mdd/mdd_object.c
lustre/mdt/mdt_lib.c

index 0aff9a2..fb489ba 100644 (file)
@@ -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;
index 888ee34..8049fb1 100644 (file)
@@ -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 {
index 317497e..cdede2c 100644 (file)
@@ -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);
index 05b6399..003a359 100644 (file)
@@ -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