OpenCloudOS-Kernel/fs/afs
David Howells dd9fbcb8e1 afs: Rearrange status mapping
Rearrange the AFSFetchStatus to inode attribute mapping code in a number of
ways:

 (1) Use an XDR structure rather than a series of incremented pointer
     accesses when decoding an AFSFetchStatus object.  This allows
     out-of-order decode.

 (2) Don't store the if_version value but rather just check it and abort if
     it's not something we can handle.

 (3) Store the owner and group in the status record as raw values rather
     than converting them to kuid/kgid.  Do that when they're mapped into
     i_uid/i_gid.

 (4) Validate the type and abort code up front and abort if they're wrong.

 (5) Split the inode attribute setting out into its own function from the
     XDR decode of an AFSFetchStatus object.  This allows it to be called
     from elsewhere too.

 (6) Differentiate changes to data from changes to metadata.

 (7) Use the split-out attribute mapping function from afs_iget().

Signed-off-by: David Howells <dhowells@redhat.com>
2018-04-09 21:53:59 +01:00
..
Kconfig fs/afs: remove depends on CONFIG_EXPERIMENTAL 2013-01-21 14:39:04 -08:00
Makefile afs: Overhaul volume and server record caching and fileserver rotation 2017-11-13 15:38:19 +00:00
addr_list.c afs: Fix checker warnings 2018-04-09 21:12:31 +01:00
afs.h afs: Rearrange status mapping 2018-04-09 21:53:59 +01:00
afs_cm.h afs: support the CB.ProbeUuid RPC op 2008-04-29 08:06:26 -07:00
afs_fs.h afs: Prospectively look up extra files when doing a single lookup 2018-04-09 21:12:31 +01:00
afs_vl.h afs: Make use of the YFS service upgrade to fully support IPv6 2017-11-13 15:38:19 +00:00
cache.c fscache: Pass object size in rather than calling back for it 2018-04-06 14:05:14 +01:00
callback.c afs: Prospectively look up extra files when doing a single lookup 2018-04-09 21:12:31 +01:00
cell.c afs: Implement @cell substitution handling 2018-04-09 21:18:58 +01:00
cmservice.c afs: Prospectively look up extra files when doing a single lookup 2018-04-09 21:12:31 +01:00
dir.c afs: Introduce a statistics proc file 2018-04-09 21:53:54 +01:00
file.c fscache: Pass object size in rather than calling back for it 2018-04-06 14:05:14 +01:00
flock.c afs: Make it possible to get the data version in readpage 2018-04-09 21:53:56 +01:00
fsclient.c afs: Rearrange status mapping 2018-04-09 21:53:59 +01:00
inode.c afs: Rearrange status mapping 2018-04-09 21:53:59 +01:00
internal.h afs: Rearrange status mapping 2018-04-09 21:53:59 +01:00
main.c afs: Implement @sys substitution handling 2018-04-09 21:12:31 +01:00
misc.c afs: Consolidate abort_to_error translators 2017-11-13 15:38:17 +00:00
mntpt.c afs: Support the AFS dynamic root 2018-02-06 14:43:37 +00:00
netdevices.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
proc.c afs: Introduce a statistics proc file 2018-04-09 21:53:54 +01:00
rotate.c afs: Fix checker warnings 2018-04-09 21:12:31 +01:00
rxrpc.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2018-04-03 14:04:18 -07:00
security.c afs: Make it possible to get the data version in readpage 2018-04-09 21:53:56 +01:00
server.c afs: Fix checker warnings 2018-04-09 21:12:31 +01:00
server_list.c afs: Fix server list handling 2018-02-06 14:36:54 +00:00
super.c afs: Support the AFS dynamic root 2018-02-06 14:43:37 +00:00
vlclient.c afs: Fix checker warnings 2018-04-09 21:12:31 +01:00
volume.c fscache: Pass object size in rather than calling back for it 2018-04-06 14:05:14 +01:00
write.c afs: Fix missing error handling in afs_write_end() 2018-01-02 10:02:19 +00:00
xattr.c afs: Overhaul volume and server record caching and fileserver rotation 2017-11-13 15:38:19 +00:00
xdr_fs.h afs: Rearrange status mapping 2018-04-09 21:53:59 +01:00