NFSv4.1 mdsthreshold attribute xdr
We only support one layout type per file system, so one threshold_item4 per mdsthreshold4. Signed-off-by: Andy Adamson <andros@netapp.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
This commit is contained in:

committed by
Trond Myklebust

parent
54ac471c83
commit
88034c3d88
@@ -526,6 +526,13 @@ enum lock_type4 {
|
||||
#define FATTR4_WORD1_MOUNTED_ON_FILEID (1UL << 23)
|
||||
#define FATTR4_WORD1_FS_LAYOUT_TYPES (1UL << 30)
|
||||
#define FATTR4_WORD2_LAYOUT_BLKSIZE (1UL << 1)
|
||||
#define FATTR4_WORD2_MDSTHRESHOLD (1UL << 4)
|
||||
|
||||
/* MDS threshold bitmap bits */
|
||||
#define THRESHOLD_RD (1UL << 0)
|
||||
#define THRESHOLD_WR (1UL << 1)
|
||||
#define THRESHOLD_RD_IO (1UL << 2)
|
||||
#define THRESHOLD_WR_IO (1UL << 3)
|
||||
|
||||
#define NFSPROC4_NULL 0
|
||||
#define NFSPROC4_COMPOUND 1
|
||||
|
@@ -35,6 +35,15 @@ static inline int nfs_fsid_equal(const struct nfs_fsid *a, const struct nfs_fsid
|
||||
return a->major == b->major && a->minor == b->minor;
|
||||
}
|
||||
|
||||
struct nfs4_threshold {
|
||||
__u32 bm;
|
||||
__u32 l_type;
|
||||
__u64 rd_sz;
|
||||
__u64 wr_sz;
|
||||
__u64 rd_io_sz;
|
||||
__u64 wr_io_sz;
|
||||
};
|
||||
|
||||
struct nfs_fattr {
|
||||
unsigned int valid; /* which fields are valid */
|
||||
umode_t mode;
|
||||
@@ -67,6 +76,7 @@ struct nfs_fattr {
|
||||
unsigned long gencount;
|
||||
struct nfs4_string *owner_name;
|
||||
struct nfs4_string *group_name;
|
||||
struct nfs4_threshold *mdsthreshold; /* pNFS threshold hints */
|
||||
};
|
||||
|
||||
#define NFS_ATTR_FATTR_TYPE (1U << 0)
|
||||
|
Reference in New Issue
Block a user