1. 23 Jun, 2008 1 commit
    • NeilBrown's avatar
      knfsd: nfsd: Handle ERESTARTSYS from syscalls. · 599eb304
      NeilBrown authored
      
      OCFS2 can return -ERESTARTSYS from write requests (and possibly
      elsewhere) if there is a signal pending.
      
      If nfsd is shutdown (by sending a signal to each thread) while there
      is still an IO load from the client, each thread could handle one last
      request with a signal pending.  This can result in -ERESTARTSYS
      which is not understood by nfserrno() and so is reflected back to
      the client as nfserr_io aka -EIO.  This is wrong.
      
      Instead, interpret ERESTARTSYS to mean "try again later" by returning
      nfserr_jukebox.  The client will resend and - if the server is
      restarted - the write will (hopefully) be successful and everyone will
      be happy.
      
       The symptom that I narrowed down to this was:
          copy a large file via NFS to an OCFS2 filesystem, and restart
          the nfs server during the copy.
          The 'cp' might get an -EIO, and the file will be corrupted -
          presumably holes in the middle where writes appeared to fail.
      Signed-off-by: default avatarNeil Brown <neilb@suse.de>
      Signed-off-by: default avatarJ. Bruce Fields <bfields@citi.umich.edu>
      599eb304
  2. 15 Feb, 2008 1 commit
  3. 17 Jul, 2007 1 commit
  4. 09 May, 2007 1 commit
    • Jeff Layton's avatar
      RPC: add wrapper for svc_reserve to account for checksum · cd123012
      Jeff Layton authored
      When the kernel calls svc_reserve to downsize the expected size of an RPC
      reply, it fails to account for the possibility of a checksum at the end of
      the packet.  If a client mounts a NFSv2/3 with sec=krb5i/p, and does I/O
      then you'll generally see messages similar to this in the server's ring
      buffer:
      
      RPC request reserved 164 but used 208
      
      While I was never able to verify it, I suspect that this problem is also
      the root cause of some oopses I've seen under these conditions:
      
      https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=227726
      
      
      
      This is probably also a problem for other sec= types and for NFSv4.  The
      large reserved size for NFSv4 compound packets seems to generally paper
      over the problem, however.
      
      This patch adds a wrapper for svc_reserve that accounts for the possibility
      of a checksum.  It also fixes up the appropriate callers of svc_reserve to
      call the wrapper.  For now, it just uses a hardcoded value that I
      determined via testing.  That value may need to be revised upward as things
      change, or we may want to eventually add a new auth_op that attempts to
      calculate this somehow.
      
      Unfortunately, there doesn't seem to be a good way to reliably determine
      the expected checksum length prior to actually calculating it, particularly
      with schemes like spkm3.
      Signed-off-by: default avatarJeff Layton <jlayton@redhat.com>
      Acked-by: default avatarNeil Brown <neilb@suse.de>
      Cc: Trond Myklebust <trond.myklebust@fys.uio.no>
      Acked-by: default avatarJ. Bruce Fields <bfields@citi.umich.edu>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      cd123012
  5. 12 Feb, 2007 1 commit
  6. 20 Oct, 2006 3 commits
  7. 04 Oct, 2006 3 commits
  8. 11 Apr, 2006 1 commit
  9. 18 Jan, 2006 1 commit
  10. 22 Jun, 2005 1 commit
  11. 16 Apr, 2005 1 commit
    • Linus Torvalds's avatar
      Linux-2.6.12-rc2 · 1da177e4
      Linus Torvalds authored
      Initial git repository build. I'm not bothering with the full history,
      even though we have it. We can create a separate "historical" git
      archive of that later if we want to, and in the meantime it's about
      3.2GB when imported into git - space that would just make the early
      git days unnecessarily complicated, when we don't have a lot of good
      infrastructure for it.
      
      Let it rip!
      1da177e4