12 Dec, 2011

1 commit


23 Nov, 2011

1 commit


16 Jul, 2011

2 commits

  • Like svcauth_unix, the symbol svcauth_null is used external from this
    file. Declare it as extern to quiet the following sparse noise:

    warning: symbol 'svcauth_null' was not declared. Should it be static?

    Signed-off-by: H Hartley Sweeten
    Cc: Trond Myklebust
    Cc: "J. Bruce Fields"
    Cc: Neil Brown
    Cc: "David S. Miller"
    Signed-off-by: J. Bruce Fields

    H Hartley Sweeten
     
  • As promised in feature-removal-schedule.txt it is time to
    remove the nfsctl system call.

    Userspace has perferred to not use this call throughout 2.6 and it has been
    excluded in the default configuration since 2.6.36 (9 months ago).

    So this patch removes all the code that was being compiled out.

    There are still references to sys_nfsctl in various arch systemcall tables
    and related code. These should be cleaned out too, probably in the next
    merge window.

    Signed-off-by: NeilBrown
    Signed-off-by: J. Bruce Fields

    NeilBrown
     

10 Mar, 2011

1 commit

  • "After merging the nfsd tree, today's linux-next build (powerpc
    ppc64_defconfig) produced this warning:

    net/sunrpc/svcauth_unix.c: In function 'unix_domain_find':
    net/sunrpc/svcauth_unix.c:58: warning: passing argument 1 of
    +'svcauth_unix_domain_release' from incompatible pointer type
    net/sunrpc/svcauth_unix.c:41: note: expected 'struct auth_domain *' but
    argument
    +is of type 'struct unix_domain *'

    Introduced by commit 8b3e07ac908d ("svcrpc: fix rare race on unix_domain
    creation")."

    Reported-by: Stephen Rothwell
    Signed-off-by: J. Bruce Fields

    J. Bruce Fields
     

09 Mar, 2011

1 commit

  • Note that "new" here is not yet fully initialized; auth_domain_put
    should be called only on auth_domains that have actually been added to
    the hash.

    Before this fix, two attempts to add the same domain at once could
    cause the hlist_del in auth_domain_put to fail.

    Signed-off-by: J. Bruce Fields

    J. Bruce Fields
     

05 Jan, 2011

2 commits


18 Dec, 2010

1 commit


12 Oct, 2010

1 commit


27 Sep, 2010

5 commits


22 Sep, 2010

1 commit

  • If we drop a request in the sunrpc layer, either due kmalloc failure,
    or due to a cache miss when we could not queue the request for later
    replay, then close the connection to encourage the client to retry sooner.

    Note that if the drop happens in the NFS layer, NFSERR_JUKEBOX
    (aka NFS4ERR_DELAY) is returned to guide the client concerning
    replay.

    Signed-off-by: NeilBrown
    Signed-off-by: J. Bruce Fields

    NeilBrown
     

30 Mar, 2010

1 commit

  • …it slab.h inclusion from percpu.h

    percpu.h is included by sched.h and module.h and thus ends up being
    included when building most .c files. percpu.h includes slab.h which
    in turn includes gfp.h making everything defined by the two files
    universally available and complicating inclusion dependencies.

    percpu.h -> slab.h dependency is about to be removed. Prepare for
    this change by updating users of gfp and slab facilities include those
    headers directly instead of assuming availability. As this conversion
    needs to touch large number of source files, the following script is
    used as the basis of conversion.

    http://userweb.kernel.org/~tj/misc/slabh-sweep.py

    The script does the followings.

    * Scan files for gfp and slab usages and update includes such that
    only the necessary includes are there. ie. if only gfp is used,
    gfp.h, if slab is used, slab.h.

    * When the script inserts a new include, it looks at the include
    blocks and try to put the new include such that its order conforms
    to its surrounding. It's put in the include block which contains
    core kernel includes, in the same order that the rest are ordered -
    alphabetical, Christmas tree, rev-Xmas-tree or at the end if there
    doesn't seem to be any matching order.

    * If the script can't find a place to put a new include (mostly
    because the file doesn't have fitting include block), it prints out
    an error message indicating which .h file needs to be added to the
    file.

    The conversion was done in the following steps.

    1. The initial automatic conversion of all .c files updated slightly
    over 4000 files, deleting around 700 includes and adding ~480 gfp.h
    and ~3000 slab.h inclusions. The script emitted errors for ~400
    files.

    2. Each error was manually checked. Some didn't need the inclusion,
    some needed manual addition while adding it to implementation .h or
    embedding .c file was more appropriate for others. This step added
    inclusions to around 150 files.

    3. The script was run again and the output was compared to the edits
    from #2 to make sure no file was left behind.

    4. Several build tests were done and a couple of problems were fixed.
    e.g. lib/decompress_*.c used malloc/free() wrappers around slab
    APIs requiring slab.h to be added manually.

    5. The script was run on all .h files but without automatically
    editing them as sprinkling gfp.h and slab.h inclusions around .h
    files could easily lead to inclusion dependency hell. Most gfp.h
    inclusion directives were ignored as stuff from gfp.h was usually
    wildly available and often used in preprocessor macros. Each
    slab.h inclusion directive was examined and added manually as
    necessary.

    6. percpu.h was updated not to include slab.h.

    7. Build test were done on the following configurations and failures
    were fixed. CONFIG_GCOV_KERNEL was turned off for all tests (as my
    distributed build env didn't work with gcov compiles) and a few
    more options had to be turned off depending on archs to make things
    build (like ipr on powerpc/64 which failed due to missing writeq).

    * x86 and x86_64 UP and SMP allmodconfig and a custom test config.
    * powerpc and powerpc64 SMP allmodconfig
    * sparc and sparc64 SMP allmodconfig
    * ia64 SMP allmodconfig
    * s390 SMP allmodconfig
    * alpha SMP allmodconfig
    * um on x86_64 SMP allmodconfig

    8. percpu.h modifications were reverted so that it could be applied as
    a separate patch and serve as bisection point.

    Given the fact that I had only a couple of failures from tests on step
    6, I'm fairly confident about the coverage of this conversion patch.
    If there is a breakage, it's likely to be something in one of the arch
    headers which should be easily discoverable easily on most builds of
    the specific arch.

    Signed-off-by: Tejun Heo <tj@kernel.org>
    Guess-its-ok-by: Christoph Lameter <cl@linux-foundation.org>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: Lee Schermerhorn <Lee.Schermerhorn@hp.com>

    Tejun Heo
     

03 Mar, 2010

1 commit


27 Jan, 2010

1 commit

  • The existing logic in ip_map_parse() can not currently parse
    shorthanded IPv6 addresses (anything with a double colon), nor can
    it parse an IPv6 presentation address with a scope ID. An
    IPv6-enabled mountd can pass down both.

    Signed-off-by: Chuck Lever
    Signed-off-by: J. Bruce Fields

    Chuck Lever
     

17 Dec, 2009

1 commit

  • * 'for-2.6.33' of git://linux-nfs.org/~bfields/linux: (42 commits)
    nfsd: remove pointless paths in file headers
    nfsd: move most of nfsfh.h to fs/nfsd
    nfsd: remove unused field rq_reffh
    nfsd: enable V4ROOT exports
    nfsd: make V4ROOT exports read-only
    nfsd: restrict filehandles accepted in V4ROOT case
    nfsd: allow exports of symlinks
    nfsd: filter readdir results in V4ROOT case
    nfsd: filter lookup results in V4ROOT case
    nfsd4: don't continue "under" mounts in V4ROOT case
    nfsd: introduce export flag for v4 pseudoroot
    nfsd: let "insecure" flag vary by pseudoflavor
    nfsd: new interface to advertise export features
    nfsd: Move private headers to source directory
    vfs: nfsctl.c un-used nfsd #includes
    lockd: Remove un-used nfsd headers #includes
    s390: remove un-used nfsd #includes
    sparc: remove un-used nfsd #includes
    parsic: remove un-used nfsd #includes
    compat.c: Remove dependence on nfsd private headers
    ...

    Linus Torvalds
     

30 Nov, 2009

1 commit


28 Oct, 2009

1 commit

  • For nfsd we provide users the option of mapping uid's to server-side
    supplementary group lists. That makes sense for nfsd, but not
    necessarily for other rpc users (such as the callback client).

    So move that lookup to svcauth_unix_set_client, which is a
    program-specific method.

    Signed-off-by: J. Bruce Fields

    J. Bruce Fields
     

08 Oct, 2009

1 commit


21 Aug, 2009

1 commit


10 Aug, 2009

1 commit

  • For events that are rare, such as referral DNS lookups, it makes limited
    sense to have a daemon constantly listening for upcalls on a channel. An
    alternative in those cases might simply be to run the app that fills the
    cache using call_usermodehelper_exec() and friends.

    The following patch allows the cache_detail to specify alternative upcall
    mechanisms for these particular cases.

    Signed-off-by: Trond Myklebust

    Trond Myklebust
     

05 Aug, 2009

1 commit


08 Jan, 2009

1 commit


31 Oct, 2008

1 commit


30 Oct, 2008

1 commit


29 Oct, 2008

2 commits


19 May, 2008

1 commit

  • Commit f15364bd4cf8799a7677b6daeed7b67d9139d974 ("IPv6 support for NFS
    server export caches") dropped a couple spaces, rendering the output
    here difficult to read.

    (However note that we expect the output to be parsed only by humans, not
    machines, so this shouldn't have broken any userland software.)

    Signed-off-by: J. Bruce Fields

    J. Bruce Fields
     

24 Apr, 2008

1 commit

  • This adds IPv6 support to the interfaces that are used to express nfsd
    exports. All addressed are stored internally as IPv6; backwards
    compatibility is maintained using mapped addresses.

    Thanks to Bruce Fields, Brian Haley, Neil Brown and Hideaki Joshifuji
    for comments

    Signed-off-by: Aurelien Charbon
    Cc: Neil Brown
    Cc: Brian Haley
    Cc: YOSHIFUJI Hideaki / 吉藤英明
    Signed-off-by: J. Bruce Fields

    Aurélien Charbon
     

02 Feb, 2008

2 commits


18 Jul, 2007

2 commits

  • We want it to be possible for users to restrict exports both by IP address and
    by pseudoflavor. The pseudoflavor information has previously been passed
    using special auth_domains stored in the rq_client field. After the preceding
    patch that stored the pseudoflavor in rq_pflavor, that's now superfluous; so
    now we use rq_client for the ip information, as auth_null and auth_unix do.

    However, we keep around the special auth_domain in the rq_gssclient field for
    backwards compatibility purposes, so we can still do upcalls using the old
    "gss/pseudoflavor" auth_domain if upcalls using the unix domain to give us an
    appropriate export. This allows us to continue supporting old mountd.

    In fact, for this first patch, we always use the "gss/pseudoflavor"
    auth_domain (and only it) if it is available; thus rq_client is ignored in the
    auth_gss case, and this patch on its own makes no change in behavior; that
    will be left to later patches.

    Note on idmap: I'm almost tempted to just replace the auth_domain in the idmap
    upcall by a dummy value--no version of idmapd has ever used it, and it's
    unlikely anyone really wants to perform idmapping differently depending on the
    where the client is (they may want to perform *credential* mapping
    differently, but that's a different matter--the idmapper just handles id's
    used in getattr and setattr). But I'm updating the idmapd code anyway, just
    out of general backwards-compatibility paranoia.

    Signed-off-by: "J. Bruce Fields"
    Signed-off-by: Neil Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    J. Bruce Fields
     
  • Add a new field to the svc_rqst structure to record the pseudoflavor that the
    request was made with. For now we record the pseudoflavor but don't use it
    for anything.

    Signed-off-by: Andy Adamson
    Signed-off-by: "J. Bruce Fields"
    Signed-off-by: Neil Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andy Adamson
     

10 May, 2007

1 commit

  • Now that sk_defer_lock protects two different things, make the name more
    generic.

    Also don't bother with disabling _bh as the lock is only ever taken from
    process context.

    Signed-off-by: Neil Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    NeilBrown
     

18 Apr, 2007

1 commit

  • sk_info_authunix is not being protected properly so the object that it
    points to can be cache_put twice, leading to corruption.

    We borrow svsk->sk_defer_lock to provide the protection. We should
    probably rename that lock to have a more generic name - later.

    Thanks to Gabriel for reporting this.

    Cc: Greg Banks
    Cc: Gabriel Barazer
    Signed-off-by: Neil Brown
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    NeilBrown
     

15 Feb, 2007

1 commit

  • AUTH_UNIX authentication (the standard with NFS) has a limit of 16 groups ids.
    This causes problems for people in more than 16 groups.

    So allow the server to map a uid into a list of group ids based on local
    knowledge rather depending on the (possibly truncated) list from the client.

    If there is no process on the server responding to upcalls, the gidlist in the
    request will still be used.

    Signed-off-by: Neil Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    NeilBrown