X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=lustre%2Finclude%2Fuapi%2Flinux%2Flustre%2Flustre_user.h;h=495335bc4d6fa3e3bb054a3ada352a153b123185;hp=308a526dcbeebafb5a0f8cce79a747d7d1d5cd34;hb=b31792b0e72425c8c7850d69837f08c9f3e95a9c;hpb=3f6fc483013da443b1494d81efe2d271ac67f901;ds=sidebyside diff --git a/lustre/include/uapi/linux/lustre/lustre_user.h b/lustre/include/uapi/linux/lustre/lustre_user.h index 308a526..495335b 100644 --- a/lustre/include/uapi/linux/lustre/lustre_user.h +++ b/lustre/include/uapi/linux/lustre/lustre_user.h @@ -633,6 +633,7 @@ struct ll_ioc_lease_id { #define LL_IOC_PCC_DETACH _IOW('f', 252, struct lu_pcc_detach) #define LL_IOC_PCC_DETACH_BY_FID _IOW('f', 252, struct lu_pcc_detach_fid) #define LL_IOC_PCC_STATE _IOR('f', 252, struct lu_pcc_state) +#define LL_IOC_PROJECT _IOW('f', 253, struct lu_project) #ifndef FS_IOC_FSGETXATTR /* @@ -718,12 +719,6 @@ struct fsxattr { #define LOV_OFFSET_DEFAULT ((__u16)-1) #define LMV_OFFSET_DEFAULT ((__u32)-1) -#define LOV_QOS_DEF_THRESHOLD_RR_PCT 17 -#define LMV_QOS_DEF_THRESHOLD_RR_PCT 5 - -#define LOV_QOS_DEF_PRIO_FREE 90 -#define LMV_QOS_DEF_PRIO_FREE 90 - static inline bool lov_pattern_supported(__u32 pattern) { return (pattern & ~LOV_PATTERN_F_RELEASED) == LOV_PATTERN_RAID0 || @@ -1010,7 +1005,7 @@ static __attribute__((unused)) const char *mdt_hash_name[] = { "crush", }; -#define LMV_HASH_TYPE_DEFAULT LMV_HASH_TYPE_FNV_1A_64 +#define LMV_HASH_TYPE_DEFAULT LMV_HASH_TYPE_CRUSH /* Right now only the lower part(0-16bits) of lmv_hash_type is being used, * and the higher part will be the flag to indicate the status of object, @@ -1280,6 +1275,8 @@ static inline __u64 lustre_stoqb(__kernel_size_t space) #define LUSTRE_Q_SETQUOTAPOOL 0x800010 /* set user pool quota */ #define LUSTRE_Q_GETINFOPOOL 0x800011 /* get pool quota info */ #define LUSTRE_Q_SETINFOPOOL 0x800012 /* set pool quota info */ +#define LUSTRE_Q_GETDEFAULT_POOL 0x800013 /* get default pool quota*/ +#define LUSTRE_Q_SETDEFAULT_POOL 0x800014 /* set default pool quota */ /* In the current Lustre implementation, the grace time is either the time * or the timestamp to be used after some quota ID exceeds the soft limt, * 48 bits should be enough, its high 16 bits can be used as quota flags. @@ -1309,7 +1306,9 @@ static inline __u64 lustre_stoqb(__kernel_size_t space) (cmd == LUSTRE_Q_GETQUOTAPOOL || \ cmd == LUSTRE_Q_SETQUOTAPOOL || \ cmd == LUSTRE_Q_SETINFOPOOL || \ - cmd == LUSTRE_Q_GETINFOPOOL) + cmd == LUSTRE_Q_GETINFOPOOL || \ + cmd == LUSTRE_Q_SETDEFAULT_POOL || \ + cmd == LUSTRE_Q_GETDEFAULT_POOL) #define ALLQUOTA 255 /* set all quota */ static inline const char *qtype_name(int qtype) @@ -1569,7 +1568,7 @@ enum changelog_rec_type { CL_RESYNC = 22, /* FLR: file was resync-ed */ CL_GETXATTR = 23, CL_DN_OPEN = 24, /* denied open */ - CL_LAST + CL_LAST, }; static inline const char *changelog_type2str(int type) { @@ -2671,6 +2670,21 @@ struct lu_pcc_state { char pccs_path[PATH_MAX]; }; +enum lu_project_type { + LU_PROJECT_NONE = 0, + LU_PROJECT_SET, + LU_PROJECT_GET, + LU_PROJECT_MAX +}; + +struct lu_project { + __u32 project_type; /* enum lu_project_type */ + __u32 project_id; + __u32 project_xflags; + __u32 project_reserved; + char project_name[NAME_MAX + 1]; +}; + struct fid_array { __u32 fa_nr; /* make header's size equal lu_fid */