From: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> In the functions where we want a label we also tend to allocate a struct fattr, which happens to have a field for labels that goes unused in most cases. Let's just allocate the label at the same time as the fattr if we know we'll want one. This lets us pass fattrs around by themselves, and also remove the struct nfs4_label argument from functions like nfs3_proc_getattr(). Thoughts? Anna Anna Schumaker (14): NFS: Create a new nfs_alloc_fattr_with_label() function NFS: Remove the nfs4_label from the nfs_entry struct NFS: Remove the nfs4_label from the nfs4_create_res struct NFS: Remove the nfs4_label from the nfs4_link_res struct NFS: Remove the label from the nfs4_lookup_res struct NFS: Remove the nfs4_label from the nfs4_lookupp_res struct NFS: Remove the f_label from the nfs4_opendata and nfs_openres NFS: Remove the nfs4_label from the nfs4_getattr_res NFS: Remove the nfs4_label from the nfs_setattrres NFS: Remove the nfs4_label argument from nfs_instantiate() NFS: Remove the nfs4_label argument from nfs_add_or_obtain() NFS: Remove the nfs4_label argument from nfs_fhget() NFS: Remove the nfs4_label argument from nfs_setsecurity NFS: Remove the nfs4_label argument from decode_getattr_*() functions fs/nfs/client.c | 2 +- fs/nfs/dir.c | 66 ++++++---------- fs/nfs/export.c | 44 +++-------- fs/nfs/getroot.c | 21 ++--- fs/nfs/inode.c | 59 +++++++------- fs/nfs/internal.h | 9 --- fs/nfs/namespace.c | 3 +- fs/nfs/nfs3proc.c | 10 +-- fs/nfs/nfs4_fs.h | 4 +- fs/nfs/nfs4file.c | 5 +- fs/nfs/nfs4proc.c | 165 +++++++++++++--------------------------- fs/nfs/nfs4xdr.c | 43 +++++------ fs/nfs/proc.c | 14 ++-- include/linux/nfs_fs.h | 23 ++++-- include/linux/nfs_xdr.h | 16 +--- 15 files changed, 180 insertions(+), 304 deletions(-) -- 2.33.0