• wengang wang's avatar
    nfsd(v2/v3): fix the failure of creation from HPUX client · 4ac35c2f
    wengang wang authored
    sometimes HPUX nfs client sends a create request to linux nfs server(v2/v3).
    the dump of the request is like:
        obj_attributes
            mode: value follows
                set_it: value follows (1)
                mode: 00
            uid: no value
                set_it: no value (0)
            gid: value follows
                set_it: value follows (1)
                gid: 8030
            size: value follows
                set_it: value follows (1)
                size: 0
            atime: don't change
                set_it: don't change (0)
            mtime: don't change
                set_it: don't change (0)
    
    note that mode is 00(havs no rwx privilege even for the owner) and it requires
    to set size to 0.
    
    as current nfsd(v2/v3) implementation, the server does mainly 2 steps:
    1) creates the file in mode specified by calling vfs_create().
    2) sets attributes for the file by calling nfsd_setattr().
    
    at step 2), it finally calls file system specific setattr() function which may
    fail when checki...
    4ac35c2f
vfs.c 52 KB