Whamcloud - gitweb
LU-4528 llog: don't write llog in 3-steps
[fs/lustre-release.git] / lustre / mgs / mgs_internal.h
index 0a33f81..f326a13 100644 (file)
@@ -375,16 +375,17 @@ static inline struct dt_object *dt_object_child(struct dt_object *o)
                             struct dt_object, do_lu);
 }
 struct mgs_direntry {
-       cfs_list_t  list;
-       char       *name;
-       int         len;
+       struct list_head         mde_list;
+       char                    *mde_name;
+       int                      mde_len;
 };
 
 static inline void mgs_direntry_free(struct mgs_direntry *de)
 {
+       LASSERT(list_empty(&de->mde_list));
        if (de) {
-               LASSERT(de->len);
-               OBD_FREE(de->name, de->len);
+               LASSERT(de->mde_len);
+               OBD_FREE(de->mde_name, de->mde_len);
                OBD_FREE_PTR(de);
        }
 }
@@ -397,19 +398,20 @@ static inline struct mgs_direntry *mgs_direntry_alloc(int len)
        if (de == NULL)
                return NULL;
 
-       OBD_ALLOC(de->name, len);
-       if (de->name == NULL) {
+       OBD_ALLOC(de->mde_name, len);
+       if (de->mde_name == NULL) {
                OBD_FREE_PTR(de);
                return NULL;
        }
 
-       de->len = len;
+       de->mde_len = len;
+       INIT_LIST_HEAD(&de->mde_list);
 
        return de;
 }
 
 /* mgs_llog.c */
 int class_dentry_readdir(const struct lu_env *env, struct mgs_device *mgs,
-                        cfs_list_t *list);
+                        struct list_head *list);
 
 #endif /* _MGS_INTERNAL_H */