16 Mar, 2007

2 commits

  • This patch (as869) reinstates the mutual exclusion between sysfs
    attribute method calls and attribute unregistration. The
    previously-reported deadlocks have been fixed, and this exclusion is
    by far the simplest way to avoid races during driver unbinding.

    The check for orphaned read-buffers has been moved down slightly, so
    that the remainder of a partially-read buffer will still be available
    to userspace even after the attribute has been unregistered.

    Signed-off-by: Alan Stern
    Cc: Hugh Dickins
    Cc: Cornelia Huck
    Cc: Oliver Neukum
    Signed-off-by: Linus Torvalds

    Alan Stern
     
  • This patch (as868) adds a helper routine for device drivers that need
    to set up a callback to perform some action in a different process's
    context. This is intended for use by attribute methods that want to
    unregister themselves or their parent device. Attribute method calls
    are mutually exclusive with unregistration, so such actions cannot be
    taken directly.

    Two attribute methods are converted to use the new helper routine: one
    for SCSI device deletion and one for System/390 ccwgroup devices.

    Signed-off-by: Alan Stern
    Cc: Hugh Dickins
    Cc: Cornelia Huck
    Cc: Oliver Neukum
    Signed-off-by: Linus Torvalds

    Alan Stern
     

15 Mar, 2007

10 commits


10 Mar, 2007

1 commit

  • * git://git.infradead.org/mtd-2.6:
    [JFFS2] print a message when marking bad block
    [JFFS2] Check for all-zero node headers
    [MTD] [OneNAND] Classify the page data and oob buffer
    [MTD] [OneNAND] Exit the loop when transferring/filling of the oob is finished
    [MTD] [OneNAND] add Nokia Copyright and a credit
    [MTD] [OneNAND] Fix typo & wrong comments
    [MTD] [OneNAND] Use oob buffer instead of main one in oob functions
    [MTD] Correct partition failed erase address
    [JFFS2] Use yield() between GC passes in background thread.
    [MTD] [NAND] Correct misspelled preprocessor variable.
    [MTD] [MAPS] dilnetpc: Fix printk warning
    [MTD] [NOR] Fix oops in cfi_amdstd_sync
    [MTD] ESB2 check for closed ROM window
    [JFFS2] Fix writebuffer recovery in the first page of a block
    [MTD] [NAND] make oobavail public

    Linus Torvalds
     

09 Mar, 2007

2 commits


08 Mar, 2007

19 commits

  • ecryptfs uses a lock_parent() function, which I hope really locks the parents
    and is not abused

    Signed-off-by: Peter Zijlstra
    Cc: Michael Halcrow
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Peter Zijlstra
     
  • Fix inverted check introduced in 57881dd9df40b76dc7fc6a0d13fd75f337accb32 "Fix
    check_partition routines".

    Signed-off-by: Suzuki K P
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    suzuki
     
  • IA64 and ARM-OABI are currently using their own version of epoll compat_
    code.

    An architecture needs epoll_event translation if alignof(u64) in 32 bit
    mode is different from alignof(u64) in 64 bit mode. If an architecture
    needs epoll_event translation, it must define struct compat_epoll_event in
    asm/compat.h and set CONFIG_HAVE_COMPAT_EPOLL_EVENT and use
    compat_sys_epoll_ctl and compat_sys_epoll_wait.

    All 64 bit architecture should use compat_sys_epoll_pwait.

    [sfr: restructure and move to fs/compat.c, remove MIPS version
    of compat_sys_epoll_pwait, use __put_user_unaligned]

    Signed-off-by: Stephen Rothwell
    Cc: David Woodhouse
    Cc: Russell King
    Cc: "Luck, Tony"
    Cc: "David S. Miller"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Davide Libenzi
     
  • When a given host directory is specified to be mounted both in hostfs=path1
    and with mount option -o path2, we should give access to path1/path2, but this
    does not happen. Fix that in the simpler way.

    Also, root_ino can be the empty string, since we use %s/%s as format.

    Signed-off-by: Paolo 'Blaisorblade' Giarrusso
    Acked-by: Jeff Dike
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Paolo 'Blaisorblade' Giarrusso
     
  • Fix double free in the error path - when name is assigned into root_inode we
    do not own it any more and we must not kfree() it - see patch for details.

    Thanks to William Stearns for the initial report.

    CC: William Stearns
    Signed-off-by: Paolo 'Blaisorblade' Giarrusso
    Acked-by: Jeff Dike
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Paolo 'Blaisorblade' Giarrusso
     
  • The garbage collection thread is strictly an optimisation. Everything it
    does would also be done just-in-time in the context of something in
    userspace trying to access the file system.

    Sometimes, however, it's a pessimisation. Especially during early boot
    when it's checksumming nodes and scanning inodes which are shortly going
    to be pulled in by read_inode anyway. We end up building the rbtree of
    node coverage twice for the same inode.

    By switching to yield() instead of cond_resched() in the main loop, we
    observe boot times on the OLPC system going down from about 100 seconds to
    60.

    Signed-off-by: David Woodhouse

    David Woodhouse
     
  • For the case when nand_write_page fail with -EIO for the first page in an
    eraseblock, jffs2_wbuf_recover ends up producing a BUG in jffs2_block_refile
    as jeb->first_node is not yet set up (it's set up later in jffs2_wbuf_recover).
    This BUG is not really a bug; it's just jffs2_wbuf_recover calling
    jffs2_block_refile with the wrong second parameter.
    This patch takes care of this situation.

    Signed-off-by: Vitaly Wool
    Signed-off-by: Thomas Gleixner
    Signed-off-by: David Woodhouse

    Vitaly Wool
     
  • The following removes an incorrect assertion from the GFS2 glops code. This
    fixes Red Hat bz 229873. Thanks to Abhijith Das for testing the patch
    and confirming the fix.

    Signed-off-by: Steven Whitehouse
    Cc: Abhijith Das

    Steven Whitehouse
     
  • fs/gfs2/glock.c:2198: error: 'THIS_MODULE' undeclared here (not in a function)

    Cc: Steven Whitehouse
    Signed-off-by: Andrew Morton

    akpm@linux-foundation.org
     
  • The ->go_drop_bh function is never used, so this removes it and the single
    caller,

    Signed-off-by: Steven Whitehouse

    Steven Whitehouse
     
  • Remove an unused variable.

    Signed-off-by: Steven Whitehouse

    Steven Whitehouse
     
  • The following patch fixes Red Hat bz 229831. Without this patch its
    possible for the wrong inode to be returned in certain cases. It is a
    pretty unusual event, so that its taken some time to track down. Thanks
    and due to Josef Whiter who did a lot of the testing required to thrack
    this down and fix it.

    Signed-off-by: Steven Whitehouse

    Steven Whitehouse
     
  • The below patch fixes a problem where we were not flushing rgrps
    correctly. It only occurred in the specific case that a callback was
    received for an rgrp which was dirty and when a journal log flush had
    not already resulted in the rgrp being flushed anyway. This fixes Red
    Hat bz 230143,

    Signed-off-by: Steven Whitehouse

    Steven Whitehouse
     
  • ok, the following is the minimum changes to get NFSD going before we
    settle down this issue .. would appreciate this in the tree so other NFS
    related works can get done in parallel.

    Signed-off-by: S. Wendy Cheng
    Signed-off-by: Steven Whitehouse

    Wendy Cheng
     
  • Every file should include the headers containing the prototypes for
    it's global functions.

    Signed-off-by: Adrian Bunk
    Signed-off-by: Steven Whitehouse

    Adrian Bunk
     
  • This fixes a problem I encountered while running bonnie++. When you have one
    thread that opens a file and starts to write to it, and then another thread that
    tries to open and write to the same file, the second thread will loop forever
    trying to grab the inode lock for that inode. Basically we come in through
    generic_buffered_file_write, which calls gfs2_prepare_write, which then attempts
    to grab the glock. Because we don't own the lock, gfs2_prepare_write gets
    GLR_TRYFAILED, which returns AOP_TRUNCATED_PAGE to generic_buffered_file_write.
    At this point generic_buffered_file_write loops around again and immediately
    retries the prepare_write. This means that the second process never gets off of
    the processor in order to allow the process that holds the lock to finish its
    work and let go of the lock. This patch makes gfs2_glock_nq schedule() if it
    gets back a GLR_TRYFAILED, which resolves this problem.

    Signed-off-by: Josef Whiter
    Signed-off-by: Steven Whitehouse

    Josef Whiter
     
  • File handle checking error found in '07 NFS connectathon. The fh_type
    and fh_len are not necessarily identical. Some of the client machines
    could fail mount with stale filehandle without this patch.

    Signed-off-by: S. Wendy Cheng
    Signed-off-by: Steven Whitehouse

    Wendy Cheng
     
  • Patch for the 2.6.20 stable tree that adds a missing newline to one of
    the printk messages in fs/gfs2/ops_fstype.c.

    Signed-off-by: Richard Fearn
    Signed-off-by: Steven Whitehouse

    Richard Fearn
     
  • This patch fixes a locking mistake in the quota code, we do a mutex_lock instead
    of a mutex_unlock.

    Signed-off-by: Josef Whiter
    Signed-off-by: Steven Whitehouse

    Josef Whiter
     

07 Mar, 2007

5 commits

  • Suspend deadlocks when trying to unregister /sys/block/sr0.

    This comes from Oliver's commit 94bebf4d1b8e7719f0f3944c037a21cfd99a4af7
    "Driver core: fix race in sysfs between sysfs_remove_file() and
    read()/write()".

    sysfs_write_file downs buffer->sem while calling flush_write_buffer, and
    flushing that particular write buffer entails downing buffer->sem in
    orphan_all_buffers, resulting in the obvious self-deadlock.

    Signed-off-by: Linus Torvalds

    Hugh Dickins
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6:
    [CIFS] cifs_prepare_write was incorrectly rereading page in some cases
    [CIFS] Fix set file size to zero when doing chmod to Samba 3.0.26pre
    [CIFS] Remove some unused functions/declarations
    [CIFS] New file for previous commit
    [CIFS] cifs export operations
    [CIFS] small piece missing from previous patch
    [CIFS] Fix locking problem around some cifs uses of i_size write

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc:
    sdhci: release irq during suspend
    sdhci: make isr tolerant of read errors
    mmc: require explicit support for high-speed
    ncpfs: make sure server connection survives a kill

    Linus Torvalds
     
  • This fixes a regression caused by 22c8ca78f20724676b6006232bf06cc3e9299539.

    nobh_prepare_write() no longer marks the page uptodate, so
    nobh_truncate_page() needs to do it.

    Signed-off-by: Dave Kleikamp
    Cc: Nick Piggin
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dave Kleikamp
     
  • Any attempt to open/use a bluetooth rfcomm device locks up
    scheduling completely on my machine.

    Interrupts (ping, alt-sysrq) seem to be alive, but nothing else.

    This was working fine in 2.6.20, broken now in 2.6.21-rc2-git*

    Reverting this change (below) fixes it:

    | author Marcel Holtmann
    | Sat, 17 Feb 2007 22:58:57 +0000 (23:58 +0100)
    | committer David S. Miller
    | Mon, 26 Feb 2007 19:42:41 +0000 (11:42 -0800)
    | commit c1a3313698895d8ad4760f98642007bf236af2e8
    | tree 337a876f727061362b6a169f8759849c105b8f7a tree | snapshot
    | parent f5ffd4620aba9e55656483ae1ef5c79ba81f5403 commit | diff
    | | [Bluetooth] Make use of device_move() for RFCOMM TTY devices
    | | In the case of bound RFCOMM TTY devices the parent is not available
    | before its usage. So when opening a RFCOMM TTY device, move it to
    | the corresponding ACL device as a child. When closing the device,
    | move it back to the virtual device tree.
    | Signed-off-by: Marcel Holtmann

    The simplest fix for this bug is to prevent sysfs_move_dir()
    from self-deadlocking when (old_parent == new_parent).

    This patch prevents total system lockup when using rfcomm devices.

    Signed-off-by: Mark Lord
    Acked-by: Cornelia Huck
    Cc: Greg KH
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mark Lord
     

06 Mar, 2007

1 commit