nfs: remove timespec from xdr_encode_nfstime
For NFSv2 and NFSv3, timestamps are stored using 32-bit entities and overflow in y2038. For historic reasons we truncate the 64-bit timestamps by converting from a timespec64 to a timespec first. Remove this unnecessary conversion step and do the truncation in the final functions that take a timestamp. This is transparent to users, but avoids one of the last uses of 'timespec' and lets us remove it later. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
This commit is contained in:
parent
bc35b6b0cf
commit
e5189e9a51
|
@ -360,17 +360,17 @@ static void encode_sattr(struct xdr_stream *xdr, const struct iattr *attr,
|
|||
else
|
||||
*p++ = cpu_to_be32(NFS2_SATTR_NOT_SET);
|
||||
|
||||
if (attr->ia_valid & ATTR_ATIME_SET) {
|
||||
if (attr->ia_valid & ATTR_ATIME_SET)
|
||||
p = xdr_encode_time(p, &attr->ia_atime);
|
||||
} else if (attr->ia_valid & ATTR_ATIME) {
|
||||
else if (attr->ia_valid & ATTR_ATIME)
|
||||
p = xdr_encode_current_server_time(p, &attr->ia_atime);
|
||||
} else
|
||||
else
|
||||
p = xdr_time_not_set(p);
|
||||
if (attr->ia_valid & ATTR_MTIME_SET) {
|
||||
if (attr->ia_valid & ATTR_MTIME_SET)
|
||||
xdr_encode_time(p, &attr->ia_mtime);
|
||||
} else if (attr->ia_valid & ATTR_MTIME) {
|
||||
else if (attr->ia_valid & ATTR_MTIME)
|
||||
xdr_encode_current_server_time(p, &attr->ia_mtime);
|
||||
} else
|
||||
else
|
||||
xdr_time_not_set(p);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue