static inline void mdd_quota_wrapper(struct lu_attr *la, unsigned int *qids)
{
- qids[0] = la->la_uid;
- qids[1] = la->la_gid;
+ qids[USRQUOTA] = la->la_uid;
+ qids[GRPQUOTA] = la->la_gid;
}
#endif
struct lu_name mti_name;
struct obdo mti_oa;
char mti_xattr_buf[LUSTRE_POSIX_ACL_MAX_SIZE];
- struct lu_fid_pack mti_pack;
struct dt_allocation_hint mti_hint;
struct lov_mds_md *mti_max_lmm;
int mti_max_lmm_size;
enum mdd_object_role role);
void mdd_write_unlock(const struct lu_env *env, struct mdd_object *obj);
void mdd_read_unlock(const struct lu_env *env, struct mdd_object *obj);
+int mdd_write_locked(const struct lu_env *env, struct mdd_object *obj);
void mdd_pdlock_init(struct mdd_object *obj);
unsigned long mdd_name2hash(const char *name);
void mdd_pdo_read_unlock(const struct lu_env *env, struct mdd_object *obj,
struct dynlock_handle *dlh);
/* mdd_dir.c */
+int mdd_is_subdir(const struct lu_env *env, struct md_object *mo,
+ const struct lu_fid *fid, struct lu_fid *sfid);
void __mdd_ref_add(const struct lu_env *env, struct mdd_object *obj,
struct thandle *handle);
void __mdd_ref_del(const struct lu_env *env, struct mdd_object *obj,
struct thandle *handle);
int mdd_changelog_llog_cancel(struct mdd_device *mdd, long long endrec);
int mdd_changelog_write_header(struct mdd_device *mdd, int markerflags);
+int mdd_changelog_on(struct mdd_device *mdd, int on);
/* mdd_permission.c */
#define mdd_cap_t(x) (x)
return lu_object_fid(&obj->mod_obj.mo_lu);
}
-static inline const struct dt_rec *__mdd_fid_rec(const struct lu_env *env,
- const struct lu_fid *fid)
-{
- struct lu_fid_pack *pack = &mdd_env_info(env)->mti_pack;
-
- fid_pack(pack, fid, &mdd_env_info(env)->mti_fid2);
- return (const struct dt_rec *)pack;
-}
-
static inline umode_t mdd_object_type(const struct mdd_object *obj)
{
return lu_object_attr(&obj->mod_obj.mo_lu);