summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorRichard Kennedy <richard@rsk.demon.co.uk>2008-08-26 17:23:20 +0200
committerTrond Myklebust <Trond.Myklebust@netapp.com>2008-10-08 00:17:51 +0200
commit9fa8d66f1e55bf197568c8c689043c2aad1ffc97 (patch)
treeb450b2225b8597f7e4e70beabd698e9d59ebf76e /include
parentnfs: Fix misparsing of nfsv4 fs_locations attribute (diff)
downloadlinux-9fa8d66f1e55bf197568c8c689043c2aad1ffc97.tar.xz
linux-9fa8d66f1e55bf197568c8c689043c2aad1ffc97.zip
NFS: remove 8 bytes of padding from struct nfs_fattr on 64 bit builds
remove 8 bytes of padding from struct nfs_fattr on 64 bit builds This also removes padding from several nfs structures, including 16 bytes from nfs4_opendata, nfs4_createdata,nfs3_createdata & 8 bytes from nfs_read_data,nfs_write_data,nfs_removeres,nfs4_closedata This also reduces the reported stack usage of many nfs functions (30+). Signed-off-by: Richard Kennedy <richard@rsk.demon.co.uk> ---- This patch is against the latest git 2.6.27-rc4. I've built & run this on my AMD64 desktop, & successfully run _simple_ tests with a 64 bit client => 32 bit server & 32 bit client to 64 bit server. On fedora with gcc (GCC) 4.3.0 20080428 (Red Hat 4.3.0-8) checkpatch reports 33 functions with reduced stack usage. e.g. __nfs_revalidate_inode [nfs] 216 => 200 _nfs4_proc_access [nfs] 304 => 288 _nfs4_proc_link [nfs] 536 => 504 _nfs4_proc_remove [nfs] 304 => 288 _nfs4_proc_rename [nfs] 584 => 552 nfs3_proc_access [nfs] 272 => 256 nfs3_proc_getacl [nfs] 384 => 368 nfs3_proc_link [nfs] 496 => 464 etc I can supply the complete list if anyone is interested. regards Richard Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'include')
-rw-r--r--include/linux/nfs_xdr.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/include/linux/nfs_xdr.h b/include/linux/nfs_xdr.h
index 8c77c11224d1..9cabbb3a9e6d 100644
--- a/include/linux/nfs_xdr.h
+++ b/include/linux/nfs_xdr.h
@@ -36,6 +36,7 @@ struct nfs_fattr {
__u32 nlink;
__u32 uid;
__u32 gid;
+ dev_t rdev;
__u64 size;
union {
struct {
@@ -46,7 +47,6 @@ struct nfs_fattr {
__u64 used;
} nfs3;
} du;
- dev_t rdev;
struct nfs_fsid fsid;
__u64 fileid;
struct timespec atime;