#define OSD_COUNTERS (0)
-/* Lustre special inode::i_state to indicate OI scrub skip this inode. */
-#define I_LUSTRE_NOSCRUB (1 << 31)
+/* ldiskfs special inode::i_state_flags need to be accessed with
+ * ldiskfs_{set,clear,test}_inode_state() only */
+
+/* OI scrub should skip this inode. */
+#define LDISKFS_STATE_LUSTRE_NOSCRUB 31
+
+/* Do not add OI mapping for this inode. */
+#define LDISKFS_STATE_LUSTRE_NO_OI 30
/** Enable thandle usage statistics */
#define OSD_THANDLE_STATS (0)
+#define MAX_OBJID_GROUP (FID_SEQ_ECHO + 1)
+
+#define OBJECTS "OBJECTS"
+#define ADMIN_USR "admin_quotafile_v2.usr"
+#define ADMIN_GRP "admin_quotafile_v2.grp"
+
struct osd_directory {
struct iam_container od_container;
struct iam_descr od_descr;
struct obd_statfs od_statfs;
spinlock_t od_osfs_lock;
- unsigned int od_noscrub:1;
+ unsigned int od_noscrub:1,
+ od_handle_nolma:1;
struct fsfilt_operations *od_fsops;
int od_connects;
struct lustre_capa *capa, __u64 opc);
struct inode *osd_iget(struct osd_thread_info *info, struct osd_device *dev,
struct osd_inode_id *id);
-struct inode *osd_iget_fid(struct osd_thread_info *info, struct osd_device *dev,
- struct osd_inode_id *id, struct lu_fid *fid);
+int osd_get_lma(struct osd_thread_info *info, struct inode *inode,
+ struct dentry *dentry, struct lustre_mdt_attrs *lma);
int osd_obj_map_init(struct osd_device *osd);
void osd_obj_map_fini(struct osd_device *dev);
{
LASSERTF(!fid_is_idif(fid), DFID"\n", PFID(fid));
LASSERTF(!fid_is_last_id(fid), DFID"\n", PFID(fid));
- LASSERTF(!fid_is_igif(fid), DFID"\n", PFID(fid));
LASSERT(osd->od_oi_table != NULL && osd->od_oi_count >= 1);
/* It can work even od_oi_count equals to 1 although it's unexpected,
* the only reason we set it to 1 is for performance measurement */