Whamcloud - gitweb
b=24048 Set body->eadatasize in mdc_getattr_pack()
authorMikhail Pershin <mikhail.pershin@oracle.com>
Tue, 21 Dec 2010 06:54:27 +0000 (09:54 +0300)
committerAndrew Perepechko <andrew.perepechko@oracle.com>
Tue, 21 Dec 2010 17:29:35 +0000 (20:29 +0300)
i=adilger, johann

lustre/mdc/mdc_internal.h
lustre/mdc/mdc_lib.c
lustre/mdc/mdc_locks.c

index 6e3a1d9..53dca3b 100644 (file)
@@ -53,7 +53,7 @@ void mdc_pack_rep_body(struct ptlrpc_request *);
 void mdc_readdir_pack(struct ptlrpc_request *req, int offset, __u64 pg_off,
                      __u32 size, struct ll_fid *mdc_fid);
 void mdc_getattr_pack(struct ptlrpc_request *req, int offset, __u64 valid,
-                      int flags, struct mdc_op_data *data);
+                      int flags, struct mdc_op_data *data, int ea_size);
 void mdc_setattr_pack(struct ptlrpc_request *req, int offset,
                       struct mdc_op_data *data,
                       struct iattr *iattr, void *ea, int ealen,
index 9fed54c..ea93da1 100644 (file)
@@ -760,7 +760,8 @@ void mdc_rename_pack(struct ptlrpc_request *req, int offset,
 }
 
 static void mdc_getattr_pack_18(struct ptlrpc_request *req, int offset,
-                                __u64 valid, int flags, struct mdc_op_data *data)
+                                __u64 valid, int flags,
+                                struct mdc_op_data *data)
 {
         struct mds_body *b;
         ENTRY;
@@ -792,7 +793,8 @@ static void mdc_getattr_pack_18(struct ptlrpc_request *req, int offset,
 }
 
 static void mdc_getattr_pack_20(struct ptlrpc_request *req, int offset,
-                                __u64 valid, int flags, struct mdc_op_data *data)
+                                __u64 valid, int flags,
+                                struct mdc_op_data *data, int ea_size)
 {
         struct mdt_body *b;
         ENTRY;
@@ -803,6 +805,7 @@ static void mdc_getattr_pack_20(struct ptlrpc_request *req, int offset,
         b->fsgid = cfs_curproc_fsgid();
         b->capability = cfs_curproc_cap_pack();
         b->valid = valid;
+        b->eadatasize = ea_size;
         b->flags = flags | MDS_BFLAG_EXT_FLAGS;
         b->suppgid = data->suppgids[0];
 
@@ -820,10 +823,11 @@ static void mdc_getattr_pack_20(struct ptlrpc_request *req, int offset,
 }
 
 void mdc_getattr_pack(struct ptlrpc_request *req, int offset,
-                      __u64 valid, int flags, struct mdc_op_data *data)
+                      __u64 valid, int flags,
+                      struct mdc_op_data *data, int ea_size)
 {
         if (mdc_req_is_2_0_server(req))
-                mdc_getattr_pack_20(req, offset, valid, flags, data);
+                mdc_getattr_pack_20(req, offset, valid, flags, data, ea_size);
         else
                 mdc_getattr_pack_18(req, offset, valid, flags, data);
 }
index a478335..e29de48 100644 (file)
@@ -434,7 +434,7 @@ static struct ptlrpc_request *mdc_intent_lookup_pack(struct obd_export *exp,
 
                 /* pack the intended request */
                 mdc_getattr_pack(req, DLM_INTENT_REC_OFF, valid, it->it_flags,
-                                 data);
+                                 data, obddev->u.cli.cl_max_mds_easize);
                 ptlrpc_req_set_repsize(req, bufcount, repsize);
         }
         RETURN(req);