26 Apr, 2008

30 commits

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6:
    ieee1394: silence defined but not used warning in non-modular builds
    ieee1394: rawiso: requeue packet for transmission after skipped cycle

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild:
    kbuild: fix depmod comment
    kbuild: Add new Kbuild variable KBUILD_EXTRA_SYMBOLS
    kbuild: support loading extra symbols in modpost
    Add option to enable -Wframe-larger-than= on gcc 4.4
    kbuild: add kconfig symbols to tags output
    kbuild: fix some minor typoes
    kbuild: error out on missing MODULE_LICENSE

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-x86-fixes4:
    x86: harden kernel code patching
    x86: clean up text_poke()
    x86: fix text_poke()
    x86: remove set_fixmap() warning
    x86: make __set_fixmap() non-init
    x86: make clear_fixmap() available on 64-bit as well

    Linus Torvalds
     
  • Signed-off-by: Uwe Kleine-König
    Cc: trivial@kernel.org
    Signed-off-by: Sam Ravnborg

    Uwe Kleine-König
     
  • * 'for-linus' of git://linux-nfs.org/~bfields/linux:
    nfsd: don't allow setting ctime over v4
    Update to NFS/RDMA documentation
    locks: don't call ->copy_lock methods on return of conflicting locks
    lockd: unlock lockd locks held for a certain filesystem
    lockd: unlock lockd locks associated with a given server ip
    leases: remove unneeded variable from fcntl_setlease().
    leases: move lock allocation earlier in generic_setlease()
    leases: when unlocking, skip locking-related steps
    leases: fix a return-value mixup

    Linus Torvalds
     
  • This patch adds a new (Kbuild) Makefile variable KBUILD_EXTRA_SYMBOLS.
    The space separated list of file names assigned to KBUILD_EXTRA_SYMBOLS
    is used when calling scripts/mod/modpost during stage 2 of the Kbuild
    process for non-kernel-tree modules.

    Signed-off-by: Richard Hacker
    Signed-off-by: Sam Ravnborg

    Richard Hacker
     
  • This patch adds a new command line option -E to modpost, expecting a symbol
    file as an argument which is read prior to symbol processing. -E can be
    supplied multiple times for as many files as is needed.

    When building kernel modules that depend on other modules not in the main
    kernel tree, modpost complains about undefined symbols:
    # make -C /path/to/linux/kernel M=/path/to/my/module
    ...
    Building modules, stage 2.
    ....
    WARNING: "rt_copy_buf" [/home/rich/osc_etl_rtw/osc_kmod.ko] undefined!
    ...etc

    This situation occurs when modpost processes the new module's symbols. When
    it finds symbols not exported by the mainline kernel, it issues this warning.

    The patch adds a new command line option -e to modpost which expects a symbol
    file as an argument. The symbols listed in this file are added to modpost's
    symbol tables during startup. -e can be supplied as often as required.

    This patch works together with the second patch. It introduces a new make
    variable, KBUILD_EXTRA_SYMBOLS, which is used when calling modpost.

    Signed-off-by: Richard Hacker
    Signed-off-by: Sam Ravnborg

    Richard Hacker
     
  • Add option to enable -Wframe-larger-than= on gcc 4.4

    gcc mainline (upcoming 4.4) added a new -Wframe-larger-than=...
    option to warn at build time about too large stack frames. Add a config
    option to enable this warning, since this very useful for the kernel.

    I choose (somewhat arbitarily) 2048 as default warning threshold for 64bit
    and 1024 as default for 32bit architectures. With some research and
    fixing all the code for smaller values these defaults should be probably
    lowered.

    With the default allyesconfigs have some new warnings, but I think
    that is all code that should be just fixed.

    At some point (when gcc 4.4 is released and widely used) this should
    obsolete make checkstack

    Signed-off-by: Andi Kleen
    Signed-off-by: Sam Ravnborg

    Andi Kleen
     
  • Steps to reproduce:

    vi -t NETFILTER

    Signed-off-by: Alexey Dobriyan
    Signed-off-by: Sam Ravnborg

    Alexey Dobriyan
     
  • Signed-off-by: Robert P. J. Day
    Signed-off-by: Sam Ravnborg

    Robert P. J. Day
     
  • Adrian Bunk suggested a build time check for
    missing MODULE_LICENSE annotation in modules.
    The build time check is fatal as we really
    want this fixed for all modules.
    In-tree modules should all have been fixed up by now.

    Signed-off-by: Sam Ravnborg
    Cc: Adrian Bunk

    Sam Ravnborg
     
  • Signed-off-by: Jonathan Corbet

    Jonathan Corbet
     
  • Signed-off-by: Ingo Molnar

    Ingo Molnar
     
  • Clean up the codepath, remove alignment restrictions and do sanity
    checking of the end result, to make sure we patched the right site.

    Signed-off-by: Mathieu Desnoyers
    Signed-off-by: Ingo Molnar

    Mathieu Desnoyers
     
  • kernel_text_address returns true even for modules which is not wanted
    in text_poke. Use core_kernel_text instead.

    This is a regression introduced in e587cadd8f47e202a30712e2906a65a0606d5865
    which caused occasionaly crashes after suspend/resume.

    Signed-off-by: Jiri Slaby
    CC: Mathieu Desnoyers
    CC: Andi Kleen
    CC: pageexec@freemail.hu
    CC: H. Peter Anvin
    CC: Jeremy Fitzhardinge
    Signed-off-by: Ingo Molnar

    Jiri Slaby
     
  • set_fixmap()+clear_fixmap() is safe.

    Signed-off-by: Ingo Molnar

    Ingo Molnar
     
  • Signed-off-by: Ingo Molnar

    Ingo Molnar
     
  • Signed-off-by: Ingo Molnar

    Ingo Molnar
     
  • Fix a number of things which have gone somewhat out-of-date over the last
    few months.

    Signed-off-by: Jonathan Corbet

    Jonathan Corbet
     
  • Presumably this is left over from earlier drafts of v4, which listed
    TIME_METADATA as writeable. It's read-only in rfc 3530, and shouldn't
    be modifiable anyway.

    Signed-off-by: J. Bruce Fields

    J. Bruce Fields
     
  • Update to the NFS/RDMA documentation to clarify how to configure the
    exports file.

    Signed-off-by: James Lentini
    Signed-off-by: J. Bruce Fields

    James Lentini
     
  • The file_lock structure is used both as a heavy-weight representation of
    an active lock, with pointers to reference-counted structures, etc., and
    as a simple container for parameters that describe a file lock.

    The conflicting lock returned from __posix_lock_file is an example of
    the latter; so don't call the filesystem or lock manager callbacks when
    copying to it. This also saves the need for an unnecessary
    locks_init_lock in the nfsv4 server.

    Thanks to Trond for pointing out the error.

    Signed-off-by: J. Bruce Fields
    Cc: Trond Myklebust

    J. Bruce Fields
     
  • Add /proc/fs/nfsd/unlock_filesystem, which allows e.g.:

    shell> echo /mnt/sfs1 > /proc/fs/nfsd/unlock_filesystem

    so that a filesystem can be unmounted before allowing a peer nfsd to
    take over nfs service for the filesystem.

    Signed-off-by: S. Wendy Cheng
    Cc: Lon Hohberger
    Cc: Christoph Hellwig
    Signed-off-by: J. Bruce Fields

    fs/lockd/svcsubs.c | 66 +++++++++++++++++++++++++++++++++++++++-----
    fs/nfsd/nfsctl.c | 65 +++++++++++++++++++++++++++++++++++++++++++
    include/linux/lockd/lockd.h | 7 ++++
    3 files changed, 131 insertions(+), 7 deletions(-)

    Wendy Cheng
     
  • For high-availability NFS service, we generally need to be able to drop
    file locks held on the exported filesystem before moving clients to a
    new server. Currently the only way to do that is by shutting down lockd
    entirely, which is often undesireable (for example, if you want to
    continue exporting other filesystems).

    This patch allows the administrator to release all locks held by clients
    accessing the client through a given server ip address, by echoing that
    address to a new file, /proc/fs/nfsd/unlock_ip, as in:

    shell> echo 10.1.1.2 > /proc/fs/nfsd/unlock_ip

    The expected sequence of events can be:
    1. Tear down the IP address
    2. Unexport the path
    3. Write IP to /proc/fs/nfsd/unlock_ip to unlock files
    4. Signal peer to begin take-over.

    For now we only support IPv4 addresses and NFSv2/v3 (NFSv4 locks are not
    affected).

    Also, if unmounting the filesystem is required, we assume at step 3 that
    clients using the given server ip are the only clients holding locks on
    the given filesystem; otherwise, an additional patch is required to
    allow revoking all locks held by lockd on a given filesystem.

    Signed-off-by: S. Wendy Cheng
    Cc: Lon Hohberger
    Cc: Christoph Hellwig
    Signed-off-by: J. Bruce Fields

    fs/lockd/svcsubs.c | 66 +++++++++++++++++++++++++++++++++++++++-----
    fs/nfsd/nfsctl.c | 65 +++++++++++++++++++++++++++++++++++++++++++
    include/linux/lockd/lockd.h | 7 ++++
    3 files changed, 131 insertions(+), 7 deletions(-)

    Wendy Cheng
     
  • fcntl_setlease() has a struct dentry* that is used only once; this patch
    removes it.

    Signed-off-by: David M. Richter
    Signed-off-by: J. Bruce Fields

    David M. Richter
     
  • In generic_setlease(), the struct file_lock is allocated after tests for the
    presence of conflicting readers/writers is done, despite the fact that the
    allocation might block; this patch moves the allocation earlier. A subsequent
    set of patches will rely on this behavior to properly serialize between a
    modified __break_lease() and generic_setlease().

    Signed-off-by: David M. Richter
    Signed-off-by: J. Bruce Fields

    David M. Richter
     
  • In generic_setlease(), we don't need to allocate a new struct file_lock
    or check for readers or writers when called with F_UNLCK.

    Signed-off-by: David M. Richter
    Signed-off-by: J. Bruce Fields

    David M. Richter
     
  • Fixes a return-value mixup from 85c59580b30c82aa771aa33b37217a6b6851bc14
    "locks: Fix potential OOPS in generic_setlease()", in which -ENOMEM replaced
    what had been intended to stay -EAGAIN in the variable "error".

    Signed-off-by: David M. Richter
    Signed-off-by: J. Bruce Fields

    David M. Richter
     
  • Currently the kernel will issue the following warning:
    drivers/ieee1394/raw1394.c:2938: warning: 'raw1394_id_table' defined but not used
    Add #ifdef MODULE guards around the declaration.

    Signed-off-by: Tony Breeds

    Ditto with dv1394_id_table and video1394_id_table.

    Signed-off-by: Stefan Richter

    Tony Breeds
     
  • As it seems, some host controllers have issues that can cause them to
    skip cycles now and then when using large packets. I suspect that this
    is due to DMA not succeeding in time. If the transmit fifo can't contain
    more than one packet (big packets), the DMA should provide a new packet
    each cycle (125us). I am under the impression that my current PCI
    express test system can't guarantee this.

    In any case, the patch tries to provide a workaround as follows:
    The DMA program descriptors are modified such that when an error occurs,
    the DMA engine retries the descriptor the next cycle instead of
    stalling. This way no data is lost. The side effect of this is that
    packets are sent with one cycle delay. This however might not be that
    much of a problem for certain protocols (e.g. AM824). If they use
    padding packets for e.g. rate matching they can drop one of those to
    resync the streams.

    The amount of skips between two userspace wakeups is counted. This
    number is then propagated to userspace through the upper 16 bits of the
    'dropped' parameter. This allows unmodified userspace applications due
    to the following:
    1) libraw simply passes this dropped parameter to the user application
    2) the meaning of the dropped parameter is: if it's nonzero, something
    bad has happened. The actual value of the parameter at this moment does
    not have a specific meaning.

    A libraw client can then retrieve the number of skipped cycles and
    account for them if needed.

    Signed-off-by: Pieter Palmers
    Signed-off-by: Stefan Richter

    Pieter Palmers
     

25 Apr, 2008

10 commits