OS_STATE_NOPRECREATE = 0x00000004, /**< no object precreation */
OS_STATE_ENOSPC = 0x00000020, /**< not enough free space */
OS_STATE_ENOINO = 0x00000040, /**< not enough inodes */
+ OS_STATE_SUM = 0x00000100, /**< aggregated for all tagrets */
};
/** filesystem statistics/attributes for target device */
__u32 os_fprecreated; /* objs available now to the caller */
/* used in QoS code to find preferred
* OSTs */
- __u32 os_spare2; /* Unused padding fields. Remember */
- __u32 os_spare3; /* to fix lustre_swab_obd_statfs() */
- __u32 os_spare4;
- __u32 os_spare5;
- __u32 os_spare6;
- __u32 os_spare7;
- __u32 os_spare8;
- __u32 os_spare9;
+ __u32 os_granted; /* space granted for MDS */
+ __u32 os_spare3; /* Unused padding fields. Remember */
+ __u32 os_spare4; /* to fix lustre_swab_obd_statfs() */
+ __u32 os_spare5;
+ __u32 os_spare6;
+ __u32 os_spare7;
+ __u32 os_spare8;
+ __u32 os_spare9;
};
/**
#endif
#define LL_IOC_FSGETXATTR FS_IOC_FSGETXATTR
#define LL_IOC_FSSETXATTR FS_IOC_FSSETXATTR
-#define LL_PROJINHERIT_FL 0x20000000
+#ifndef FS_XFLAG_PROJINHERIT
+#define FS_XFLAG_PROJINHERIT 0x00000200
+#endif
#define LL_STATFS_LMV 1
__u32 lcme_offset; /* offset of component blob,
start from lov_comp_md_v1 */
__u32 lcme_size; /* size of component blob */
- __u64 lcme_padding[2];
+ __u32 lcme_layout_gen;
+ __u32 lcme_padding_1;
+ __u64 lcme_padding_2;
} __attribute__((packed));
#define SEQ_ID_MAX 0x0000FFFF
static inline int lmv_user_md_size(int stripes, int lmm_magic)
{
- return sizeof(struct lmv_user_md) +
- stripes * sizeof(struct lmv_user_mds_data);
+ int size = sizeof(struct lmv_user_md);
+
+ if (lmm_magic == LMV_USER_MAGIC_SPECIFIC)
+ size += stripes * sizeof(struct lmv_user_mds_data);
+
+ return size;
}
struct ll_recreate_obj {