1. 18 9月, 2014 2 次提交
    • J
      lockd: add a /proc/fs/lockd/nlm_end_grace file · d68e3c4a
      Jeff Layton 提交于
      Add a new procfile that will allow a (privileged) userland process to
      end the NLM grace period early. The basic idea here will be to have
      sm-notify write to this file, if it sent out no NOTIFY requests when
      it runs. In that situation, we can generally expect that there will be
      no reclaim requests so the grace period can be lifted early.
      Signed-off-by: NJeff Layton <jlayton@primarydata.com>
      d68e3c4a
    • J
      lockd: move lockd's grace period handling into its own module · f7790029
      Jeff Layton 提交于
      Currently, all of the grace period handling is part of lockd. Eventually
      though we'd like to be able to build v4-only servers, at which point
      we'll need to put all of this elsewhere.
      
      Move the code itself into fs/nfs_common and have it build a grace.ko
      module. Then, rejigger the Kconfig options so that both nfsd and lockd
      enable it automatically.
      Signed-off-by: NJeff Layton <jlayton@primarydata.com>
      f7790029
  2. 17 12月, 2010 2 次提交
    • C
      lockd: Introduce new-style XDR functions for NLMv4 · 3460f29a
      Chuck Lever 提交于
      We'd like to prevent local buffer overflows caused by malicious or
      broken servers.  New xdr_stream style decoders can do that.
      
      For efficiency, we also want to be able to pass xdr_streams from
      call_encode() to all XDR encoding functions, rather than building
      an xdr_stream in every XDR encoding function in the kernel.
      
      Same idea as the NLM v3 XDR overhaul.
      Signed-off-by: NChuck Lever <chuck.lever@oracle.com>
      Tested-by: NJ. Bruce Fields <bfields@redhat.com>
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      3460f29a
    • C
      lockd: Introduce new-style XDR functions for NLMv3 · 2b061f9e
      Chuck Lever 提交于
      We'd like to prevent local buffer overflows caused by malicious or
      broken servers.  New xdr_stream style decoders can do that.
      
      For efficiency, we also eventually want to be able to pass xdr_streams
      from call_encode() and call_decode() to all XDR encoding functions,
      rather than building an xdr_stream in every XDR encoding and decoding
      function in the kernel.
      
      To do all of this, rewrite the XDR encoding and decoding functions in
      fs/lockd/xdr.c to use xdr_streams.  This makes them more or less
      incompatible with server-side XDR helper functions, so break them out
      into a separate source file.
      
      Static helper functions are left without the "inline" directive.  This
      allows the compiler to choose automatically how to optimize these for
      size or speed.
      
      SHARE-related functionality doesn't seem to be used, as those
      functions are hiding behind a #define that isn't set anywhere that I
      can find.  And, they've been in there forever (at least as far back as
      the kernel's git history goes), yet remain unused.  Let's take the
      opportunity to bin them.  It should be easy enough for someone to
      introduce proper XDR functions if at some point SHARE-related NLM
      functionality is desired.
      Signed-off-by: NChuck Lever <chuck.lever@oracle.com>
      Tested-by: NJ. Bruce Fields <bfields@redhat.com>
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      2b061f9e
  3. 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
  4. 17 4月, 2005 1 次提交
    • L
      Linux-2.6.12-rc2 · 1da177e4
      Linus Torvalds 提交于
      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