• Peter Staubach's avatar
    knfsd: 64 bit ino support for NFS server · 40ee5dc6
    Peter Staubach authored
    Modify the NFS server code to support 64 bit ino's, as
    appropriate for the system and the NFS protocol version.
    
    The gist of the changes is to query the underlying file system
    for attributes and not just to use the cached attributes in the
    inode.  For this specific purpose, the inode only contains an
    ino field which unsigned long, which is large enough on 64 bit
    platforms, but is not large enough on 32 bit platforms.
    
    I haven't been able to find any reason why ->getattr can't be called
    while i_mutex.  The specification indicates that i_mutex is not
    required to be held in order to invoke ->getattr, but it doesn't say
    that i_mutex can't be held while invoking ->getattr.
    
    I also haven't come to any conclusions regarding the value of
    lease_get_mtime() and whether it should or should not be invoked
    by fill_post_wcc() too.  I chose not to change this because I
    thought that it was safer to leave well enough alone.  If we
    decide to make a change, it can be done separately.
    Signed-off-by: default avatarPeter Staubach <staubach@redhat.com>
    Signed-off-by: default avatarJ. Bruce Fields <bfields@citi.umich.edu>
    Acked-by: default avatarNeil Brown <neilb@suse.de>
    40ee5dc6
nfsxdr.c 13 KB