1 void mdc_pack_req_body(struct ptlrpc_request *);
2 void mdc_pack_rep_body(struct ptlrpc_request *);
3 void mdc_readdir_pack(struct ptlrpc_request *req, __u64 offset, __u32 size,
4 struct ll_fid *mdc_fid);
5 void mdc_getattr_pack(struct ptlrpc_request *req, int valid, int offset,
6 int flags, struct mdc_op_data *data);
7 void mdc_setattr_pack(struct ptlrpc_request *req,
8 struct mdc_op_data *data,
9 struct iattr *iattr, void *ea, int ealen,
10 void *ea2, int ea2len);
11 void mdc_create_pack(struct ptlrpc_request *req, int offset,
12 struct mdc_op_data *op_data, __u32 mode, __u64 rdev,
13 const void *data, int datalen);
14 void mdc_open_pack(struct ptlrpc_request *req, int offset,
15 struct mdc_op_data *op_data, __u32 mode, __u64 rdev,
16 __u32 flags, const void *data, int datalen);
17 void mdc_unlink_pack(struct ptlrpc_request *req, int offset,
18 struct mdc_op_data *data);
19 void mdc_link_pack(struct ptlrpc_request *req, int offset,
20 struct mdc_op_data *data);
21 void mdc_rename_pack(struct ptlrpc_request *req, int offset,
22 struct mdc_op_data *data,
23 const char *old, int oldlen, const char *new, int newlen);
25 struct mdc_open_data {
26 struct obd_client_handle *mod_och;
27 struct ptlrpc_request *mod_open_req;
28 struct ptlrpc_request *mod_close_req;
32 struct semaphore rpcl_sem;
33 struct lookup_intent *rpcl_it;
36 static inline void mdc_init_rpc_lock(struct mdc_rpc_lock *lck)
38 sema_init(&lck->rpcl_sem, 1);
42 static inline void mdc_get_rpc_lock(struct mdc_rpc_lock *lck,
43 struct lookup_intent *it)
52 static inline void mdc_put_rpc_lock(struct mdc_rpc_lock *lck,
53 struct lookup_intent *it)
57 LASSERT(it == lck->rpcl_it);
62 LASSERT(it == lck->rpcl_it);