1. 15 7月, 2009 1 次提交
  2. 02 6月, 2009 2 次提交
    • Y
      NFSv4: kill off complicated macro 'PROC' · 0a93a47f
      Yu Zhiguo 提交于
      J. Bruce Fields wrote:
      ...
      > (This is extremely confusing code to track down: note that
      > proc->pc_decode is set to nfs4svc_decode_compoundargs() by the PROC()
      > macro at the end of fs/nfsd/nfs4proc.c.  Which means, for example, that
      > grepping for nfs4svc_decode_compoundargs() gets you nowhere.  Patches to
      > kill off that macro would be welcomed....)
      
      the macro 'PROC' is complicated and obscure, it had better
      be killed off in order to make the code more clear.
      Signed-off-by: NYu Zhiguo <yuzg@cn.fujitsu.com>
      Signed-off-by: NJ. Bruce Fields <bfields@citi.umich.edu>
      0a93a47f
    • Y
      NFSv4: do exact check about attribute specified · 3c8e0316
      Yu Zhiguo 提交于
      Server should return NFS4ERR_ATTRNOTSUPP if an attribute specified is
      not supported in current environment.
      Operations CREATE, NVERIFY, OPEN, SETATTR and VERIFY should do this check.
      
      This bug is found when do newpynfs tests. The names of the tests that failed
      are following:
        CR12 NVF7a NVF7b NVF7c NVF7d NVF7f NVF7r NVF7s
        OPEN15 VF7a VF7b VF7c VF7d VF7f VF7r VF7s
      
      Add function do_check_fattr() to do exact check:
      1, Check attribute specified is supported by the NFSv4 server or not.
      2, Check FATTR4_WORD0_ACL & FATTR4_WORD0_FS_LOCATIONS are supported
         in current environment or not.
      3, Check attribute specified is writable or not.
      
      step 1 and 3 are done in function nfsd4_decode_fattr() but removed
      to this function now.
      Signed-off-by: NYu Zhiguo <yuzg@cn.fujitsu.com>
      Signed-off-by: NJ. Bruce Fields <bfields@citi.umich.edu>
      3c8e0316
  3. 04 4月, 2009 13 次提交
  4. 31 3月, 2009 1 次提交
  5. 30 3月, 2009 1 次提交
  6. 19 3月, 2009 7 次提交
  7. 08 1月, 2009 1 次提交
  8. 04 10月, 2008 1 次提交
    • J
      nfsd: common grace period control · af558e33
      J. Bruce Fields 提交于
      Rewrite grace period code to unify management of grace period across
      lockd and nfsd.  The current code has lockd and nfsd cooperate to
      compute a grace period which is satisfactory to them both, and then
      individually enforce it.  This creates a slight race condition, since
      the enforcement is not coordinated.  It's also more complicated than
      necessary.
      
      Here instead we have lockd and nfsd each inform common code when they
      enter the grace period, and when they're ready to leave the grace
      period, and allow normal locking only after both of them are ready to
      leave.
      
      We also expect the locks_start_grace()/locks_end_grace() interface here
      to be simpler to build on for future cluster/high-availability work,
      which may require (for example) putting individual filesystems into
      grace, or enforcing grace periods across multiple cluster nodes.
      Signed-off-by: NJ. Bruce Fields <bfields@citi.umich.edu>
      af558e33
  9. 02 9月, 2008 1 次提交
  10. 09 8月, 2008 1 次提交
    • A
      [NFSD] uninline nfsd4_op_name() · f1c7f79b
      Adrian Bunk 提交于
      There doesn't seem to be a compelling reason why nfsd4_op_name() is
      marked as "inline":
      
      It's only used in a dprintk(), and as long as it has only one caller
      non-ancient gcc versions anyway inline it automatically.
      
      This patch fixes the following compile error with gcc 3.4:
      
        ...
          CC      fs/nfsd/nfs4proc.o
        nfs4proc.c: In function `nfsd4_proc_compound':
        nfs4proc.c:854: sorry, unimplemented: inlining failed in call to
        nfs4proc.c:897: sorry, unimplemented: called from here
        make[3]: *** [fs/nfsd/nfs4proc.o] Error 1
      Reported-by: NAdrian Bunk <bunk@kernel.org>
      Signed-off-by: NAdrian Bunk <bunk@kernel.org>
      [ Also made it "const char *"  - Linus]
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      f1c7f79b
  11. 03 7月, 2008 1 次提交
  12. 24 6月, 2008 2 次提交
  13. 19 4月, 2008 1 次提交
  14. 02 2月, 2008 1 次提交
    • F
      nfsd: Allow AIX client to read dir containing mountpoints · 406a7ea9
      Frank Filz 提交于
      This patch addresses a compatibility issue with a Linux NFS server and
      AIX NFS client.
      
      I have exported /export as fsid=0 with sec=krb5:krb5i
      I have mount --bind /home onto /export/home
      I have exported /export/home with sec=krb5i
      
      The AIX client mounts / -o sec=krb5:krb5i onto /mnt
      
      If I do an ls /mnt, the AIX client gets a permission error. Looking at
      the network traceIwe see a READDIR looking for attributes
      FATTR4_RDATTR_ERROR and FATTR4_MOUNTED_ON_FILEID. The response gives a
      NFS4ERR_WRONGSEC which the AIX client is not expecting.
      
      Since the AIX client is only asking for an attribute that is an
      attribute of the parent file system (pseudo root in my example), it
      seems reasonable that there should not be an error.
      
      In discussing this issue with Bruce Fields, I initially proposed
      ignoring the error in nfsd4_encode_dirent_fattr() if all that was being
      asked for was FATTR4_RDATTR_ERROR and FATTR4_MOUNTED_ON_FILEID, however,
      Bruce suggested that we avoid calling cross_mnt() if only these
      attributes are requested.
      
      The following patch implements bypassing cross_mnt() if only
      FATTR4_RDATTR_ERROR and FATTR4_MOUNTED_ON_FILEID are called. Since there
      is some complexity in the code in nfsd4_encode_fattr(), I didn't want to
      duplicate code (and introduce a maintenance nightmare), so I added a
      parameter to nfsd4_encode_fattr() that indicates whether it should
      ignore cross mounts and simply fill in the attribute using the passed in
      dentry as opposed to it's parent.
      Signed-off-by: NFrank Filz <ffilzlnx@us.ibm.com>
      Signed-off-by: NJ. Bruce Fields <bfields@citi.umich.edu>
      406a7ea9
  15. 10 10月, 2007 1 次提交
  16. 01 8月, 2007 1 次提交
  17. 18 7月, 2007 2 次提交
  18. 14 12月, 2006 2 次提交