11 Jan, 2012

1 commit

  • * 'nfs-for-3.3' of git://git.linux-nfs.org/projects/trondmy/linux-nfs:
    NFSv4: Change the default setting of the nfs4_disable_idmapping parameter
    NFSv4: Save the owner/group name string when doing open
    NFS: Remove pNFS bloat from the generic write path
    pnfs-obj: Must return layout on IO error
    pnfs-obj: pNFS errors are communicated on iodata->pnfs_error
    NFS: Cache state owners after files are closed
    NFS: Clean up nfs4_find_state_owners_locked()
    NFSv4: include bitmap in nfsv4 get acl data
    nfs: fix a minor do_div portability issue
    NFSv4.1: cleanup comment and debug printk
    NFSv4.1: change nfs4_free_slot parameters for dynamic slots
    NFSv4.1: cleanup init and reset of session slot tables
    NFSv4.1: fix backchannel slotid off-by-one bug
    nfs: fix regression in handling of context= option in NFSv4
    NFS - fix recent breakage to NFS error handling.
    NFS: Retry mounting NFSROOT
    SUNRPC: Clean up the RPCSEC_GSS service ticket requests

    Linus Torvalds
     

09 Jan, 2012

1 commit

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (53 commits)
    Kconfig: acpi: Fix typo in comment.
    misc latin1 to utf8 conversions
    devres: Fix a typo in devm_kfree comment
    btrfs: free-space-cache.c: remove extra semicolon.
    fat: Spelling s/obsolate/obsolete/g
    SCSI, pmcraid: Fix spelling error in a pmcraid_err() call
    tools/power turbostat: update fields in manpage
    mac80211: drop spelling fix
    types.h: fix comment spelling for 'architectures'
    typo fixes: aera -> area, exntension -> extension
    devices.txt: Fix typo of 'VMware'.
    sis900: Fix enum typo 'sis900_rx_bufer_status'
    decompress_bunzip2: remove invalid vi modeline
    treewide: Fix comment and string typo 'bufer'
    hyper-v: Update MAINTAINERS
    treewide: Fix typos in various parts of the kernel, and fix some comments.
    clockevents: drop unknown Kconfig symbol GENERIC_CLOCKEVENTS_MIGR
    gpio: Kconfig: drop unknown symbol 'CS5535_GPIO'
    leds: Kconfig: Fix typo 'D2NET_V2'
    sound: Kconfig: drop unknown symbol ARCH_CLPS7500
    ...

    Fix up trivial conflicts in arch/powerpc/platforms/40x/Kconfig (some new
    kconfig additions, close to removed commented-out old ones)

    Linus Torvalds
     

07 Jan, 2012

1 commit


05 Jan, 2012

1 commit


04 Jan, 2012

4 commits


02 Dec, 2011

1 commit


07 Nov, 2011

1 commit

  • * 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux: (230 commits)
    Revert "tracing: Include module.h in define_trace.h"
    irq: don't put module.h into irq.h for tracking irqgen modules.
    bluetooth: macroize two small inlines to avoid module.h
    ip_vs.h: fix implicit use of module_get/module_put from module.h
    nf_conntrack.h: fix up fallout from implicit moduleparam.h presence
    include: replace linux/module.h with "struct module" wherever possible
    include: convert various register fcns to macros to avoid include chaining
    crypto.h: remove unused crypto_tfm_alg_modname() inline
    uwb.h: fix implicit use of asm/page.h for PAGE_SIZE
    pm_runtime.h: explicitly requires notifier.h
    linux/dmaengine.h: fix implicit use of bitmap.h and asm/page.h
    miscdevice.h: fix up implicit use of lists and types
    stop_machine.h: fix implicit use of smp.h for smp_processor_id
    of: fix implicit use of errno.h in include/linux/of.h
    of_platform.h: delete needless include
    acpi: remove module.h include from platform/aclinux.h
    miscdevice.h: delete unnecessary inclusion of module.h
    device_cgroup.h: delete needless include
    net: sch_generic remove redundant use of
    net: inet_timewait_sock doesnt need
    ...

    Fix up trivial conflicts (other header files, and removal of the ab3550 mfd driver) in
    - drivers/media/dvb/frontends/dibx000_common.c
    - drivers/media/video/{mt9m111.c,ov6650.c}
    - drivers/mfd/ab3550-core.c
    - include/linux/dmaengine.h

    Linus Torvalds
     

05 Nov, 2011

1 commit

  • * 'nfs-for-3.2' of git://git.linux-nfs.org/projects/trondmy/linux-nfs: (25 commits)
    nfs: set vs_hidden on nfs4_callback_version4 (try #2)
    pnfs-obj: Support for RAID5 read-4-write interface.
    pnfs-obj: move to ore 03: Remove old raid engine
    pnfs-obj: move to ore 02: move to ORE
    pnfs-obj: move to ore 01: ore_layout & ore_components
    pnfs-obj: Rename objlayout_io_state => objlayout_io_res
    pnfs-obj: Get rid of objlayout_{alloc,free}_io_state
    pnfs-obj: Return PNFS_NOT_ATTEMPTED in case of read/write_pagelist
    pnfs-obj: Remove redundant EOF from objlayout_io_state
    nfs: Remove unused variable from write.c
    nfs: Fix unused variable warning from file.c
    NFS: Remove no-op less-than-zero checks on unsigned variables.
    NFS: Clean up nfs4_xdr_dec_secinfo()
    NFS: Fix documenting comment for nfs_create_request()
    NFS4: fix cb_recallany decode error
    nfs4: serialize layoutcommit
    SUNRPC: remove rpcbind clients destruction on module cleanup
    SUNRPC: remove rpcbind clients creation during service registering
    NFSd: call svc rpcbind cleanup explicitly
    SUNRPC: cleanup service destruction
    ...

    Linus Torvalds
     

03 Nov, 2011

1 commit


02 Nov, 2011

1 commit


01 Nov, 2011

2 commits

  • Some files were using the complete module.h infrastructure without
    actually including the header at all. Fix them up in advance so
    once the implicit presence is removed, we won't get failures like this:

    CC [M] fs/nfsd/nfssvc.o
    fs/nfsd/nfssvc.c: In function 'nfsd_create_serv':
    fs/nfsd/nfssvc.c:335: error: 'THIS_MODULE' undeclared (first use in this function)
    fs/nfsd/nfssvc.c:335: error: (Each undeclared identifier is reported only once
    fs/nfsd/nfssvc.c:335: error: for each function it appears in.)
    fs/nfsd/nfssvc.c: In function 'nfsd':
    fs/nfsd/nfssvc.c:555: error: implicit declaration of function 'module_put_and_exit'
    make[3]: *** [fs/nfsd/nfssvc.o] Error 1

    Signed-off-by: Paul Gortmaker

    Paul Gortmaker
     
  • These files were getting via an implicit include
    path, but we want to crush those out of existence since they cost
    time during compiles of processing thousands of lines of headers
    for no reason. Give them the lightweight header that just contains
    the EXPORT_SYMBOL infrastructure.

    Signed-off-by: Paul Gortmaker

    Paul Gortmaker
     

25 Oct, 2011

1 commit


24 Oct, 2011

5 commits


19 Oct, 2011

2 commits


18 Oct, 2011

8 commits

  • If we create the object and then return failure to the client, we're
    left with an unexpected file in the filesystem.

    I'm trying to eliminate such cases but not 100% sure I have so an
    assertion might be helpful for now.

    Signed-off-by: J. Bruce Fields

    J. Bruce Fields
     
  • As with the nfs4_file, we'd prefer to find out about any failure before
    creating a new file rather than after.

    Signed-off-by: J. Bruce Fields

    J. Bruce Fields
     
  • Move idr preallocation out of stateid initialization, into stateid
    allocation, so that we no longer have to handle any errors from the
    former.

    This is a little subtle due to the way the idr code manages these
    preallocated items--document that in comments.

    Signed-off-by: J. Bruce Fields

    J. Bruce Fields
     
  • Creating a new file is an irrevocable step--once it's visible in the
    filesystem, other processes may have seen it and done something with it,
    and unlinking it wouldn't simply undo the effects of the create.

    Therefore, in the case where OPEN creates a new file, we shouldn't do
    the create until we know that the rest of the OPEN processing will
    succeed.

    For example, we should preallocate a struct file in case we need it
    until waiting to allocate it till process_open2(), which is already too
    late.

    Signed-off-by: J. Bruce Fields

    J. Bruce Fields
     
  • If process_open1() creates a new open owner, but the open later fails,
    the current code will leave the open owner around. It won't be on the
    close_lru list, and the client isn't expected to send a CLOSE, so it
    will hang around as long as the client does.

    Similarly, if process_open1() removes an existing open owner from the
    close lru, anticipating that an open owner that previously had no
    associated stateid's now will, but the open subsequently fails, then
    we'll again be left with the same leak.

    Fix both problems.

    Reported-by: Bryan Schumaker
    Signed-off-by: J. Bruce Fields

    J. Bruce Fields
     
  • No change in behavior.

    Signed-off-by: J. Bruce Fields

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

    J. Bruce Fields
     
  • There doesn't seem to be any harm to renewing the client a bit earlier,
    when it is looked up. That saves us from having to sprinkle
    renew_client calls over quite so many places.

    Also remove a redundant comment and do a little cleanup.

    Signed-off-by: J. Bruce Fields

    J. Bruce Fields
     

17 Oct, 2011

1 commit


12 Oct, 2011

2 commits


11 Oct, 2011

5 commits

  • I'd rather put more of these sorts of checks into standardized xdr
    decoders for the various types rather than have them cluttering up the
    core logic in nfs4proc.c and nfs4state.c.

    Signed-off-by: J. Bruce Fields

    J. Bruce Fields
     
  • We don't use WANT bits yet--and sending them can probably trigger a
    BUG() further down.

    Cc: stable@kernel.org
    Signed-off-by: J. Bruce Fields

    J. Bruce Fields
     
  • These comments are mostly out of date.

    Reported-by: Bryan Schumaker

    J. Bruce Fields
     
  • In response to some review comments, get rid of the somewhat obscure
    for-loop with bitops, and improve a comment.

    Reported-by: Steve Dickson
    Signed-off-by: J. Bruce Fields

    J. Bruce Fields
     
  • In commit 5ec094c1096ab3bb795651855d53f18daa26afde "nfsd4: extend state
    lock over seqid replay logic" I modified the exit logic of all the
    seqid-based procedures except nfsd4_locku(). Fix the oversight.

    The result of the bug was a double-unlock while handling the LOCKU
    procedure, and a warning like:

    [ 142.150014] WARNING: at kernel/mutex-debug.c:78 debug_mutex_unlock+0xda/0xe0()
    ...
    [ 142.152927] Pid: 742, comm: nfsd Not tainted 3.1.0-rc1-SLIM+ #9
    [ 142.152927] Call Trace:
    [ 142.152927] [] warn_slowpath_common+0x7f/0xc0
    [ 142.152927] [] warn_slowpath_null+0x1a/0x20
    [ 142.152927] [] debug_mutex_unlock+0xda/0xe0
    [ 142.152927] [] __mutex_unlock_slowpath+0x80/0x140
    [ 142.152927] [] mutex_unlock+0xe/0x10
    [ 142.152927] [] nfs4_lock_state+0x35/0x40 [nfsd]
    [ 142.152927] [] nfsd4_proc_compound+0x2a1/0x690
    [nfsd]
    [ 142.152927] [] nfsd_dispatch+0xeb/0x230 [nfsd]
    [ 142.152927] [] svc_process_common+0x345/0x690
    [sunrpc]
    [ 142.152927] [] ? try_to_wake_up+0x280/0x280
    [ 142.152927] [] svc_process+0x102/0x150 [sunrpc]
    [ 142.152927] [] nfsd+0xbd/0x160 [nfsd]
    [ 142.152927] [] ? 0xffffffffa039efff
    [ 142.152927] [] kthread+0x8c/0xa0
    [ 142.152927] [] kernel_thread_helper+0x4/0x10
    [ 142.152927] [] ? kthread_worker_fn+0x190/0x190
    [ 142.152927] [] ? gs_change+0x13/0x13

    Reported-by: Bryan Schumaker
    Tested-by: Bryan Schumaker
    Signed-off-by: J. Bruce Fields

    J. Bruce Fields
     

27 Sep, 2011

1 commit

  • Use a separate stateid idr per client, and lookup a stateid by first
    finding the client, then looking up the stateid relative to that client.

    Also some minor refactoring.

    This allows us to improve error returns: we can return expired when the
    clientid is not found and bad_stateid when the clientid is found but not
    the stateid, as opposed to returning expired for both cases.

    I hope this will also help to replace the state lock mostly by a
    per-client lock, but that hasn't been done yet.

    Signed-off-by: J. Bruce Fields

    J. Bruce Fields