28 Nov, 2014

1 commit

  • It's possible to get a dump of the RPC task queue by writing a value to
    /proc/sys/sunrpc/rpc_debug. If you write any value to that file, you get
    a dump of the RPC client task list into the log buffer. This is a rather
    inconvenient interface however, and makes it hard to get immediate info
    about the task queue.

    Add a new directory hierarchy under debugfs:

    sunrpc/
    rpc_clnt/
    /

    Within each clientid directory we create a new "tasks" file that will
    dump info similar to what shows up in the log buffer, but with a few
    small differences -- we avoid printing raw kernel addresses in favor of
    symbolic names and the XID is also displayed.

    Signed-off-by: Jeff Layton
    Signed-off-by: Trond Myklebust

    Jeff Layton
     

29 Mar, 2014

1 commit


24 Apr, 2013

1 commit

  • * rpcsec_gss-from_cel: (21 commits)
    NFS: Retry SETCLIENTID with AUTH_SYS instead of AUTH_NONE
    NFSv4: Don't clear the machine cred when client establish returns EACCES
    NFSv4: Fix issues in nfs4_discover_server_trunking
    NFSv4: Fix the fallback to AUTH_NULL if krb5i is not available
    NFS: Use server-recommended security flavor by default (NFSv3)
    SUNRPC: Don't recognize RPC_AUTH_MAXFLAVOR
    NFS: Use "krb5i" to establish NFSv4 state whenever possible
    NFS: Try AUTH_UNIX when PUTROOTFH gets NFS4ERR_WRONGSEC
    NFS: Use static list of security flavors during root FH lookup recovery
    NFS: Avoid PUTROOTFH when managing leases
    NFS: Clean up nfs4_proc_get_rootfh
    NFS: Handle missing rpc.gssd when looking up root FH
    SUNRPC: Remove EXPORT_SYMBOL_GPL() from GSS mech switch
    SUNRPC: Make gss_mech_get() static
    SUNRPC: Refactor nfsd4_do_encode_secinfo()
    SUNRPC: Consider qop when looking up pseudoflavors
    SUNRPC: Load GSS kernel module by OID
    SUNRPC: Introduce rpcauth_get_pseudoflavor()
    SUNRPC: Define rpcsec_gss_info structure
    NFS: Remove unneeded forward declaration
    ...

    Trond Myklebust
     

06 Apr, 2013

1 commit

  • The Kconfig entry for SUNRPC_SWAP selects NETVM. That select statement
    was added in commit a564b8f0398636ba30b07c0eaebdef7ff7837249 ("nfs:
    enable swap on NFS"). But there's no Kconfig symbol NETVM. It apparently
    was only in used in development versions of the swap over nfs
    functionality but never entered mainline. Anyhow, it is a nop and can
    safely be dropped.

    Signed-off-by: Paul Bolle
    Signed-off-by: Trond Myklebust

    Paul Bolle
     

30 Mar, 2013

1 commit

  • The current GSS mech switch can find and load GSS pseudoflavor
    modules by name ("krb5") or pseudoflavor number ("390003"), but
    cannot find GSS modules by GSS tuple:

    [ "1.2.840.113554.1.2.2", GSS_C_QOP_DEFAULT, RPC_GSS_SVC_NONE ]

    This is important when dealing with a SECINFO request. A SECINFO
    reply contains a list of flavors the server supports for the
    requested export, but GSS flavors also have a GSS tuple that maps
    to a pseudoflavor (like 390003 for krb5).

    If the GSS module that supports the OID in the tuple is not loaded,
    our client is not able to load that module dynamically to support
    that pseudoflavor.

    Add a way for the GSS mech switch to load GSS pseudoflavor support
    by OID before searching for the pseudoflavor that matches the OID
    and service.

    Signed-off-by: Chuck Lever
    Cc: David Howells
    Signed-off-by: Trond Myklebust

    Chuck Lever
     

12 Jan, 2013

1 commit

  • The CONFIG_EXPERIMENTAL config item has not carried much meaning for a
    while now and is almost always enabled by default. As agreed during the
    Linux kernel summit, remove it from any "depends on" lines in Kconfigs.

    CC: Trond Myklebust
    CC: "J. Bruce Fields"
    CC: "David S. Miller"
    Signed-off-by: Kees Cook
    Acked-by: David S. Miller
    Acked-by: Trond Myklebust

    Kees Cook
     

01 Aug, 2012

1 commit

  • Implement the new swapfile a_ops for NFS and hook up ->direct_IO. This
    will set the NFS socket to SOCK_MEMALLOC and run socket reconnect under
    PF_MEMALLOC as well as reset SOCK_MEMALLOC before engaging the protocol
    ->connect() method.

    PF_MEMALLOC should allow the allocation of struct socket and related
    objects and the early (re)setting of SOCK_MEMALLOC should allow us to
    receive the packets required for the TCP connection buildup.

    [jlayton@redhat.com: Restore PF_MEMALLOC task flags in all cases]
    [dfeng@redhat.com: Fix handling of multiple swap files]
    [a.p.zijlstra@chello.nl: Original patch]
    Signed-off-by: Mel Gorman
    Acked-by: Rik van Riel
    Cc: Christoph Hellwig
    Cc: David S. Miller
    Cc: Eric B Munson
    Cc: Eric Paris
    Cc: James Morris
    Cc: Mel Gorman
    Cc: Mike Christie
    Cc: Neil Brown
    Cc: Sebastian Andrzej Siewior
    Cc: Trond Myklebust
    Cc: Xiaotian Feng
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mel Gorman
     

21 Mar, 2012

1 commit

  • This allows us to turn on/off the dprintk() debugging interfaces for
    those distributions that don't ship the 'rpcdebug' utility.
    It also allows us to add Kbuild dependencies. Specifically, we already
    know that dprintk() in general relies on CONFIG_SYSCTL. Now it turns out
    that the NFS dprintks depend on CONFIG_CRC32 after we added support
    for the filehandle hash.

    Reported-by: Paul Gortmaker
    Signed-off-by: Trond Myklebust

    Trond Myklebust
     

15 Jul, 2011

1 commit


16 Apr, 2011

1 commit


02 Oct, 2010

1 commit

  • Unfortunately, spkm3 never got very far; while interoperability with one
    other implementation was demonstrated at some point, problems were found
    with the spec that were deemed not worth fixing.

    The kernel code is useless on its own without nfs-utils patches which
    were never merged into nfs-utils, and were only ever available from
    citi.umich.edu. They appear not to have been updated since 2005.

    Therefore it seems safe to assume that this code has no users, and never
    will.

    Signed-off-by: J. Bruce Fields

    J. Bruce Fields
     

18 Aug, 2010

1 commit

  • Randy Dunlap reports:

    ERROR: "svc_gss_principal" [fs/nfs/nfs.ko] undefined!

    because in fs/nfs/Kconfig, NFS_V4 selects RPCSEC_GSS_KRB5
    and/or in fs/nfsd/Kconfig, NFSD_V4 selects RPCSEC_GSS_KRB5.

    RPCSEC_GSS_KRB5 does 5 selects, but none of these is enforced/followed
    by the fs/nfs[d]/Kconfig configs:

    select SUNRPC_GSS
    select CRYPTO
    select CRYPTO_MD5
    select CRYPTO_DES
    select CRYPTO_CBC

    Reported-by: Randy Dunlap
    Cc: J. Bruce Fields
    Acked-by: Randy Dunlap
    Signed-off-by: Trond Myklebust

    Trond Myklebust
     

04 Apr, 2009

1 commit

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (28 commits)
    trivial: Update my email address
    trivial: NULL noise: drivers/mtd/tests/mtd_*test.c
    trivial: NULL noise: drivers/media/dvb/frontends/drx397xD_fw.h
    trivial: Fix misspelling of "Celsius".
    trivial: remove unused variable 'path' in alloc_file()
    trivial: fix a pdlfush -> pdflush typo in comment
    trivial: jbd header comment typo fix for JBD_PARANOID_IOFAIL
    trivial: wusb: Storage class should be before const qualifier
    trivial: drivers/char/bsr.c: Storage class should be before const qualifier
    trivial: h8300: Storage class should be before const qualifier
    trivial: fix where cgroup documentation is not correctly referred to
    trivial: Give the right path in Documentation example
    trivial: MTD: remove EOL from MODULE_DESCRIPTION
    trivial: Fix typo in bio_split()'s documentation
    trivial: PWM: fix of #endif comment
    trivial: fix typos/grammar errors in Kconfig texts
    trivial: Fix misspelling of firmware
    trivial: cgroups: documentation typo and spelling corrections
    trivial: Update contact info for Jochen Hein
    trivial: fix typo "resgister" -> "register"
    ...

    Linus Torvalds
     

30 Mar, 2009

1 commit


29 Mar, 2009

1 commit

  • We just augmented the kernel's RPC service registration code so that
    it automatically adjusts to what is supported in user space. Thus we
    no longer need the kernel configuration option to enable registering
    RPC services with v4 -- it's all done automatically.

    This patch is part of a series that addresses
    http://bugzilla.kernel.org/show_bug.cgi?id=12256

    Signed-off-by: Chuck Lever
    Signed-off-by: Trond Myklebust

    Chuck Lever
     

04 Feb, 2009

1 commit

  • Fix sunrpc/rdma build dependencies.
    Survives 12 build combinations of INET, IPV6, SUNRPC,
    INFINIBAND, and INFINIBAND_ADDR_TRANS.

    ERROR: "rdma_destroy_id" [net/sunrpc/xprtrdma/xprtrdma.ko] undefined!
    ERROR: "rdma_connect" [net/sunrpc/xprtrdma/xprtrdma.ko] undefined!
    ERROR: "rdma_destroy_qp" [net/sunrpc/xprtrdma/xprtrdma.ko] undefined!
    ERROR: "rdma_create_id" [net/sunrpc/xprtrdma/xprtrdma.ko] undefined!
    ERROR: "rdma_create_qp" [net/sunrpc/xprtrdma/xprtrdma.ko] undefined!
    ERROR: "rdma_resolve_route" [net/sunrpc/xprtrdma/xprtrdma.ko] undefined!
    ERROR: "rdma_disconnect" [net/sunrpc/xprtrdma/xprtrdma.ko] undefined!
    ERROR: "rdma_resolve_addr" [net/sunrpc/xprtrdma/xprtrdma.ko] undefined!
    ERROR: "rdma_accept" [net/sunrpc/xprtrdma/svcrdma.ko] undefined!
    ERROR: "rdma_destroy_id" [net/sunrpc/xprtrdma/svcrdma.ko] undefined!
    ERROR: "rdma_listen" [net/sunrpc/xprtrdma/svcrdma.ko] undefined!
    ERROR: "rdma_create_id" [net/sunrpc/xprtrdma/svcrdma.ko] undefined!
    ERROR: "rdma_create_qp" [net/sunrpc/xprtrdma/svcrdma.ko] undefined!
    ERROR: "rdma_bind_addr" [net/sunrpc/xprtrdma/svcrdma.ko] undefined!
    ERROR: "rdma_disconnect" [net/sunrpc/xprtrdma/svcrdma.ko] undefined!

    Signed-off-by: Randy Dunlap
    Signed-off-by: David S. Miller

    Randy Dunlap
     

28 Jan, 2009

1 commit


22 Jan, 2009

1 commit