nfs: use timespec64 in nfs_fattr
Push down the use of timespec64 into NFS nfs_fattr, to avoid needless conversions, and get closer to having 64-bit time_t support on 32-bit NFSv4 and removing some old interfaces from the kernel. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
This commit is contained in:
committed by
Anna Schumaker
parent
52879b464a
commit
ae08483cdd
@ -697,9 +697,9 @@ unsigned int nfs_page_array_len(unsigned int base, size_t len)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Convert a struct timespec into a 64-bit change attribute
|
* Convert a struct timespec64 into a 64-bit change attribute
|
||||||
*
|
*
|
||||||
* This does approximately the same thing as timespec_to_ns(),
|
* This does approximately the same thing as timespec64_to_ns(),
|
||||||
* but for calculation efficiency, we multiply the seconds by
|
* but for calculation efficiency, we multiply the seconds by
|
||||||
* 1024*1024*1024.
|
* 1024*1024*1024.
|
||||||
*/
|
*/
|
||||||
|
@ -4097,7 +4097,7 @@ static int decode_attr_time_access(struct xdr_stream *xdr, uint32_t *bitmap, str
|
|||||||
status = NFS_ATTR_FATTR_ATIME;
|
status = NFS_ATTR_FATTR_ATIME;
|
||||||
bitmap[1] &= ~FATTR4_WORD1_TIME_ACCESS;
|
bitmap[1] &= ~FATTR4_WORD1_TIME_ACCESS;
|
||||||
}
|
}
|
||||||
dprintk("%s: atime=%ld\n", __func__, (long)time->tv_sec);
|
dprintk("%s: atime=%lld\n", __func__, time->tv_sec);
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -4115,7 +4115,7 @@ static int decode_attr_time_metadata(struct xdr_stream *xdr, uint32_t *bitmap, s
|
|||||||
status = NFS_ATTR_FATTR_CTIME;
|
status = NFS_ATTR_FATTR_CTIME;
|
||||||
bitmap[1] &= ~FATTR4_WORD1_TIME_METADATA;
|
bitmap[1] &= ~FATTR4_WORD1_TIME_METADATA;
|
||||||
}
|
}
|
||||||
dprintk("%s: ctime=%ld\n", __func__, (long)time->tv_sec);
|
dprintk("%s: ctime=%lld\n", __func__, time->tv_sec);
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -4132,8 +4132,8 @@ static int decode_attr_time_delta(struct xdr_stream *xdr, uint32_t *bitmap,
|
|||||||
status = decode_attr_time(xdr, time);
|
status = decode_attr_time(xdr, time);
|
||||||
bitmap[1] &= ~FATTR4_WORD1_TIME_DELTA;
|
bitmap[1] &= ~FATTR4_WORD1_TIME_DELTA;
|
||||||
}
|
}
|
||||||
dprintk("%s: time_delta=%ld %ld\n", __func__, (long)time->tv_sec,
|
dprintk("%s: time_delta=%lld %ld\n", __func__, time->tv_sec,
|
||||||
(long)time->tv_nsec);
|
time->tv_nsec);
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -4197,7 +4197,7 @@ static int decode_attr_time_modify(struct xdr_stream *xdr, uint32_t *bitmap, str
|
|||||||
status = NFS_ATTR_FATTR_MTIME;
|
status = NFS_ATTR_FATTR_MTIME;
|
||||||
bitmap[1] &= ~FATTR4_WORD1_TIME_MODIFY;
|
bitmap[1] &= ~FATTR4_WORD1_TIME_MODIFY;
|
||||||
}
|
}
|
||||||
dprintk("%s: mtime=%ld\n", __func__, (long)time->tv_sec);
|
dprintk("%s: mtime=%lld\n", __func__, time->tv_sec);
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user