From c6fafcadc3367ccd6367e322ea413180e7114497 Mon Sep 17 00:00:00 2001 From: wangdi Date: Wed, 4 Oct 2006 14:16:09 +0000 Subject: [PATCH] Branch: b_new_cmd oops, just miss a file in the last commit --- lustre/mdt/mdt_lib.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/lustre/mdt/mdt_lib.c b/lustre/mdt/mdt_lib.c index 01c30a1..0e56a58 100644 --- a/lustre/mdt/mdt_lib.c +++ b/lustre/mdt/mdt_lib.c @@ -522,14 +522,21 @@ int mdt_handle_last_unlink(struct mdt_thread_info *info, struct mdt_object *mo, repbody = req_capsule_server_get(&info->mti_pill, &RMF_MDT_BODY); LASSERT(repbody != NULL); - if (ma->ma_valid & MA_INODE) + if (ma->ma_valid & MA_INODE) { mdt_pack_attr2body(repbody, la, mdt_object_fid(mo)); mdt_body_reverse_idmap(info, repbody); + } if (ma->ma_valid & MA_LOV) { __u32 mode; - mode = lu_object_attr(&mo->mot_obj.mo_lu); + if (lu_object_exists(&mo->mot_obj.mo_lu) < 0) + /* If it is a remote object, and we do not retrieve + * EA back unlink reg file*/ + mode = S_IFREG; + else + mode = lu_object_attr(&mo->mot_obj.mo_lu); + LASSERT(ma->ma_lmm_size); mdt_dump_lmm(D_INFO, ma->ma_lmm); repbody->eadatasize = ma->ma_lmm_size; -- 1.8.3.1