#undef HAVE_PROJECT_QUOTA
#endif
+#define OBD_BRW_MAPPED OBD_BRW_LOCAL1
+
struct osd_directory {
struct iam_container od_container;
struct iam_descr od_descr;
extern const int osd_dto_credits_noquota[];
struct osd_object {
- struct dt_object oo_dt;
- /**
- * Inode for file system object represented by this osd_object. This
- * inode is pinned for the whole duration of lu_object life.
- *
- * Not modified concurrently (either setup early during object
- * creation, or assigned by osd_object_create() under write lock).
- */
- struct inode *oo_inode;
- /**
- * to protect index ops.
- */
- struct htree_lock_head *oo_hl_head;
+ struct dt_object oo_dt;
+ /**
+ * Inode for file system object represented by this osd_object. This
+ * inode is pinned for the whole duration of lu_object life.
+ *
+ * Not modified concurrently (either setup early during object
+ * creation, or assigned by osd_create() under write lock).
+ */
+ struct inode *oo_inode;
+ /**
+ * to protect index ops.
+ */
+ struct htree_lock_head *oo_hl_head;
struct rw_semaphore oo_ext_idx_sem;
struct rw_semaphore oo_sem;
struct osd_directory *oo_dir;
struct osd_otable_it {
struct osd_device *ooi_dev;
struct osd_otable_cache ooi_cache;
+ struct osd_iit_param ooi_iit_param;
/* The following bits can be updated/checked w/o lock protection.
* If more bits will be introduced in the future and need lock to
bool enforce, int *flags);
int osd_declare_inode_qid(const struct lu_env *env, qid_t uid, qid_t gid,
__u32 projid, long long space, struct osd_thandle *oh,
- struct osd_object *obj, bool is_blk, int *flags,
- bool force);
+ struct osd_object *obj, int *flags,
+ enum osd_qid_declare_flags);
const struct dt_rec *osd_quota_pack(struct osd_object *obj,
const struct dt_rec *rec,
union lquota_rec *quota_rec);
void osd_quota_unpack(struct osd_object *obj, const struct dt_rec *rec);
-int osd_quota_migration(const struct lu_env *env, struct dt_object *dt);
#ifndef HAVE_I_UID_READ
static inline uid_t i_uid_read(const struct inode *inode)
return dev->od_mnt->mnt_sb;
}
+static inline const char *osd_dev2name(const struct osd_device *dev)
+{
+ return osd_sb(dev)->s_id;
+}
+
+static inline const char *osd_ino2name(const struct inode *inode)
+{
+ return inode->i_sb->s_id;
+}
+
/**
* Put the osd object once done with it.
*