Whamcloud - gitweb
b=3063
[fs/lustre-release.git] / lustre / mds / mds_internal.h
index 48d739c..e11bbc7 100644 (file)
@@ -12,18 +12,25 @@ struct mds_filter_data {
 };
 
 #define MDS_FILTERDATA(inode) ((struct mds_filter_data *)(inode)->i_filterdata)
+#define DENTRY_VALID(dentry)    \
+        ((dentry)->d_inode || ((dentry)->d_flags & DCACHE_CROSS_REF))
 
 static inline struct mds_obd *mds_req2mds(struct ptlrpc_request *req)
 {
         return &req->rq_export->exp_obd->u.mds;
 }
+static inline struct obd_device *req2obd(struct ptlrpc_request *req)
+{
+        return req->rq_export->exp_obd;
+}
 
 /* mds/mds_reint.c */
-int res_gt(struct ldlm_res_id *res1, struct ldlm_res_id *res2);
 int enqueue_ordered_locks(struct obd_device *obd, struct ldlm_res_id *p1_res_id,
                           struct lustre_handle *p1_lockh, int p1_lock_mode,
+                          ldlm_policy_data_t *p1_policy,
                           struct ldlm_res_id *p2_res_id,
-                          struct lustre_handle *p2_lockh, int p2_lock_mode);
+                          struct lustre_handle *p2_lockh, int p2_lock_mode,
+                          ldlm_policy_data_t *p2_policy);
 void mds_commit_cb(struct obd_device *, __u64 last_rcvd, void *data, int error);
 int mds_finish_transno(struct mds_obd *mds, struct inode *inode, void *handle,
                        struct ptlrpc_request *req, int rc, __u32 op_data);
@@ -33,9 +40,11 @@ int mds_get_parent_child_locked(struct obd_device *obd, struct mds_obd *mds,
                                 struct ll_fid *fid,
                                 struct lustre_handle *parent_lockh,
                                 struct dentry **dparentp, int parent_mode,
+                                __u64 parent_lockpart,
                                 char *name, int namelen,
                                 struct lustre_handle *child_lockh,
-                                struct dentry **dchildp, int child_mode);
+                                struct dentry **dchildp, int child_mode,
+                                __u64 child_lockpart);
 int mds_lock_new_child(struct obd_device *obd, struct inode *inode,
                        struct lustre_handle *child_lockh);
 
@@ -51,11 +60,12 @@ int mds_cleanup_orphans(struct obd_device *obd);
 
 
 /* mds/mds_log.c */
-int mds_log_op_unlink(struct obd_device *obd, struct inode *inode, 
-                      struct lustre_msg *repmsg, int offset);
-int mds_llog_init(struct obd_device *obd, struct obd_device *tgt, int count, 
-                  struct llog_logid *logid);
-int mds_llog_finish(struct obd_device *obd, int count);
+int mds_log_op_unlink(struct obd_device *obd, struct inode *inode,
+                      struct lov_mds_md *lmm, int lmm_size,
+                      struct llog_cookie *logcookies, int cookies_size);
+int mds_llog_init(struct obd_device *obd, struct obd_llogs *,
+                  struct obd_device *tgt, int count, struct llog_catid *logid);
+int mds_llog_finish(struct obd_device *obd, struct obd_llogs *, int count);
 
 /* mds/mds_lov.c */
 int mds_lov_connect(struct obd_device *obd, char * lov_name);
@@ -98,8 +108,17 @@ extern int mds_iocontrol(unsigned int cmd, struct obd_export *exp,
 #ifdef __KERNEL__
 int mds_pack_md(struct obd_device *, struct lustre_msg *, int offset,
                 struct mds_body *, struct inode *, int lock);
-void mds_pack_inode2fid(struct ll_fid *fid, struct inode *inode);
-void mds_pack_inode2body(struct mds_body *body, struct inode *inode);
+void mds_pack_inode2fid(struct obd_device *, struct ll_fid *, struct inode *);
+void mds_pack_inode2body(struct obd_device *, struct mds_body *, struct inode *);
 #endif
 
+/* mds/mds_lmv.c */
+int mds_lmv_connect(struct obd_device *obd, char * lov_name);
+int mds_lmv_disconnect(struct obd_device *obd, int flags);
+int mds_try_to_split_dir(struct obd_device *, struct dentry *, struct mea **,
+                         int);
+int mds_get_lmv_attr(struct obd_device *, struct inode *, struct mea **, int *);
+int mds_choose_mdsnum(struct obd_device *, const char *, int);
+int mds_lmv_postsetup(struct obd_device *);
+
 #endif /* _MDS_INTERNAL_H */