NFS: get rid of some needless code obfuscation in xdr_encode_sattr().
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
This commit is contained in:
parent
cf3fff54a4
commit
eadb8c1471
|
@ -146,23 +146,23 @@ xdr_decode_fattr(u32 *p, struct nfs_fattr *fattr)
|
|||
return p;
|
||||
}
|
||||
|
||||
#define SATTR(p, attr, flag, field) \
|
||||
*p++ = (attr->ia_valid & flag) ? htonl(attr->field) : ~(u32) 0
|
||||
static inline u32 *
|
||||
xdr_encode_sattr(u32 *p, struct iattr *attr)
|
||||
{
|
||||
SATTR(p, attr, ATTR_MODE, ia_mode);
|
||||
SATTR(p, attr, ATTR_UID, ia_uid);
|
||||
SATTR(p, attr, ATTR_GID, ia_gid);
|
||||
SATTR(p, attr, ATTR_SIZE, ia_size);
|
||||
const u32 not_set = __constant_htonl(0xFFFFFFFF);
|
||||
|
||||
*p++ = (attr->ia_valid & ATTR_MODE) ? htonl(attr->ia_mode) : not_set;
|
||||
*p++ = (attr->ia_valid & ATTR_UID) ? htonl(attr->ia_uid) : not_set;
|
||||
*p++ = (attr->ia_valid & ATTR_GID) ? htonl(attr->ia_gid) : not_set;
|
||||
*p++ = (attr->ia_valid & ATTR_SIZE) ? htonl(attr->ia_size) : not_set;
|
||||
|
||||
if (attr->ia_valid & ATTR_ATIME_SET) {
|
||||
p = xdr_encode_time(p, &attr->ia_atime);
|
||||
} else if (attr->ia_valid & ATTR_ATIME) {
|
||||
p = xdr_encode_current_server_time(p, &attr->ia_atime);
|
||||
} else {
|
||||
*p++ = ~(u32) 0;
|
||||
*p++ = ~(u32) 0;
|
||||
*p++ = not_set;
|
||||
*p++ = not_set;
|
||||
}
|
||||
|
||||
if (attr->ia_valid & ATTR_MTIME_SET) {
|
||||
|
@ -170,12 +170,11 @@ xdr_encode_sattr(u32 *p, struct iattr *attr)
|
|||
} else if (attr->ia_valid & ATTR_MTIME) {
|
||||
p = xdr_encode_current_server_time(p, &attr->ia_mtime);
|
||||
} else {
|
||||
*p++ = ~(u32) 0;
|
||||
*p++ = ~(u32) 0;
|
||||
*p++ = not_set;
|
||||
*p++ = not_set;
|
||||
}
|
||||
return p;
|
||||
}
|
||||
#undef SATTR
|
||||
|
||||
/*
|
||||
* NFS encode functions
|
||||
|
|
Loading…
Reference in New Issue