Whamcloud - gitweb
LU-966 mdd: mdd object may not be exist
[fs/lustre-release.git] / lustre / mdt / mdt_internal.h
index 7782a11..b2889ed 100644 (file)
@@ -413,6 +413,11 @@ enum mdt_txn_op {
         MDT_TXN_LAST_RCVD_WRITE_OP,
 };
 
+enum mdt_obj_exist{
+        MDT_OBJ_MUST_EXIST,
+        MDT_OBJ_MAY_NOT_EXIST,
+};
+
 static inline const struct md_device_operations *
 mdt_child_ops(struct mdt_device * m)
 {
@@ -485,6 +490,11 @@ static inline void mdt_export_evict(struct obd_export *exp)
         class_export_put(exp);
 }
 
+static inline const char *mdt_obj_dev_name(const struct mdt_object *obj)
+{
+        return lu_dev_name(obj->mot_obj.mo_lu.lo_dev);
+}
+
 int mdt_get_disposition(struct ldlm_reply *rep, int flag);
 void mdt_set_disposition(struct mdt_thread_info *info,
                         struct ldlm_reply *rep, int flag);
@@ -514,11 +524,13 @@ void mdt_object_unlock(struct mdt_thread_info *,
 
 struct mdt_object *mdt_object_find(const struct lu_env *,
                                    struct mdt_device *,
-                                   const struct lu_fid *);
+                                   const struct lu_fid *,
+                                   enum mdt_obj_exist check_exist);
 struct mdt_object *mdt_object_find_lock(struct mdt_thread_info *,
                                         const struct lu_fid *,
                                         struct mdt_lock_handle *,
-                                        __u64);
+                                        __u64 ibits,
+                                        enum mdt_obj_exist check_exist);
 void mdt_object_unlock_put(struct mdt_thread_info *,
                            struct mdt_object *,
                            struct mdt_lock_handle *,