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);
}
}
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 */