10 Jun, 2009

18 commits


09 Jun, 2009

5 commits

  • Our async work synchronization was broken by "async: make sure
    independent async domains can't accidentally entangle" (commit
    d5a877e8dd409d8c702986d06485c374b705d340), because it would report
    the wrong lowest active async ID when there was both running and
    pending async work.

    This caused things like no being able to read the root filesystem,
    resulting in missing console devices and inability to run 'init',
    causing a boot-time panic.

    This fixes it by properly returning the lowest pending async ID: if
    there is any running async work, that will have a lower ID than any
    pending work, and we should _not_ look at the pending work list.

    There were alternative patches from Jaswinder and James, but this one
    also cleans up the code by removing the pointless 'ret' variable and
    the unnecesary testing for an empty list around 'for_each_entry()' (if
    the list is empty, the for_each_entry() thing just won't execute).

    Fixes-bug: http://bugzilla.kernel.org/show_bug.cgi?id=13474
    Reported-and-tested-by: Chris Clayton
    Cc: Jaswinder Singh Rajput
    Cc: James Bottomley
    Cc: Arjan van de Ven
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus:
    MIPS: Outline udelay and fix a few issues.
    MIPS: ioctl.h: Fix headers_check warnings
    MIPS: Cobalt: PCI bus is always required to obtain the board ID
    MIPS: Kconfig: Remove "Support for" from Cavium system type
    MIPS: Sibyte: Honor CONFIG_CMDLINE
    SSB: BCM47xx: Export ssb_watchdog_timer_set

    Linus Torvalds
     
  • The previous patch submission had a I typo I didn't catch but Bartlomiej
    noted. Guess this proves the point about any patch being risky late in an rc

    Signed-off-by: Alan Cox
    Signed-off-by: Linus Torvalds

    Alan Cox
     
  • * 'kvm-updates/2.6.30' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
    KVM: Explicity initialize cpus_hardware_enabled

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6:
    pdc202xx_old: fix resetproc() method
    pdc202xx_old: fix 'pdc20246_dma_ops'

    Linus Torvalds
     

08 Jun, 2009

9 commits


07 Jun, 2009

7 commits


06 Jun, 2009

1 commit

  • OK, that's probably the easiest way to do that, as much as I don't like it...
    Since iget() et.al. will not accept I_FREEING (will wait to go away
    and restart), and since we'd better have serialization between new/free
    on fs data structures anyway, we can afford simply skipping I_FREEING
    et.al. in insert_inode_locked().

    We do that from new_inode, so it won't race with free_inode in any interesting
    ways and it won't race with iget (of any origin; nfsd or in case of fs
    corruption a lookup) since both still will wait for I_LOCK.

    Reviewed-by: "Theodore Ts'o"
    Acked-by: Jan Kara
    Tested-by: David Watson
    Signed-off-by: Al Viro

    Al Viro