NFS: Shrink the struct nfs_fattr
We don't need the bitmap[] field anymore, since the 'valid' field tells us all we need to know about which attributes were filled in... Also move the pre-op attributes in order to improve the structure packing. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
This commit is contained in:
Родитель
9e6e70f8d8
Коммит
1ca277d88d
|
@ -3002,9 +3002,6 @@ static int decode_getfattr(struct xdr_stream *xdr, struct nfs_fattr *fattr, cons
|
|||
if ((status = decode_attr_bitmap(xdr, bitmap)) != 0)
|
||||
goto xdr_error;
|
||||
|
||||
fattr->bitmap[0] = bitmap[0];
|
||||
fattr->bitmap[1] = bitmap[1];
|
||||
|
||||
if ((status = decode_attr_length(xdr, &attrlen, &savep)) != 0)
|
||||
goto xdr_error;
|
||||
|
||||
|
|
|
@ -28,9 +28,6 @@ static inline int nfs_fsid_equal(const struct nfs_fsid *a, const struct nfs_fsid
|
|||
|
||||
struct nfs_fattr {
|
||||
unsigned int valid; /* which fields are valid */
|
||||
__u64 pre_size; /* pre_op_attr.size */
|
||||
struct timespec pre_mtime; /* pre_op_attr.mtime */
|
||||
struct timespec pre_ctime; /* pre_op_attr.ctime */
|
||||
enum nfs_ftype type; /* always use NFSv2 types */
|
||||
__u32 mode;
|
||||
__u32 nlink;
|
||||
|
@ -52,9 +49,11 @@ struct nfs_fattr {
|
|||
struct timespec atime;
|
||||
struct timespec mtime;
|
||||
struct timespec ctime;
|
||||
__u32 bitmap[2]; /* NFSv4 returned attribute bitmap */
|
||||
__u64 change_attr; /* NFSv4 change attribute */
|
||||
__u64 pre_change_attr;/* pre-op NFSv4 change attribute */
|
||||
__u64 pre_size; /* pre_op_attr.size */
|
||||
struct timespec pre_mtime; /* pre_op_attr.mtime */
|
||||
struct timespec pre_ctime; /* pre_op_attr.ctime */
|
||||
unsigned long time_start;
|
||||
unsigned long gencount;
|
||||
};
|
||||
|
|
Загрузка…
Ссылка в новой задаче