24 Aug, 2006

2 commits

  • When a status reply is sent for a lockspace that doesn't yet exist, the
    message sequence number from the sender was not being copied into the
    reply causing the sender to ignore the reply.

    Signed-off-by: David Teigland
    Signed-off-by: Steven Whitehouse

    David Teigland
     
  • The down-conversion optimization was resulting in the lkb flags being
    cleared because the stub message reply had no flags value set. Copy the
    current flags into the stub message so they'll be copied back into the lkb
    as part of processing the fake reply. Also add an assertion to catch this
    error more directly if it exists elsewhere.

    Signed-off-by: David Teigland
    Signed-off-by: Steven Whitehouse

    David Teigland
     

23 Aug, 2006

3 commits


22 Aug, 2006

1 commit


21 Aug, 2006

1 commit

  • Introduce new function dlm_dump_rsb() to call within assertions instead of
    dlm_print_rsb(). The new function dumps info about all locks on the rsb
    in addition to rsb details.

    Signed-off-by: David Teigland
    Signed-off-by: Steven Whitehouse

    David Teigland
     

19 Aug, 2006

1 commit

  • This fixes a memory leak of struct gfs2_bufdata and also some
    problems in the ordered write handling code. It needs a bit
    more testing, but I believe that the reference counting of
    ordered write buffers should now be correct.

    This is aimed at fixing Red Hat bugzilla: #201028 and #201082

    Signed-off-by: Steven Whitehouse

    Steven Whitehouse
     

11 Aug, 2006

2 commits

  • Doing the kmap() while holding the spinlock was causing recursive spinlock
    problems. It seems the kmap was scheduling, although there was no warning
    as I'd expect. Patrick, do we need locking around the kmap?

    Signed-off-by: David Teigland
    Signed-off-by: Steven Whitehouse

    David Teigland
     
  • recovery.c add a brelse to deal with gfs2_replay_read_block being called
    twice on the same block.

    add a dput to drop the ref count on the root inode.
    This was causing lingering glocks and thus causing
    a mount failure to hang.

    Fix a endian conversion macro that was was swizzling
    16bits when it should have been swizzling 32.

    Signed-off-by: Russell Cattelan
    Signed-off-by: Steven Whitehouse

    Russell Cattelan
     

10 Aug, 2006

1 commit

  • When recoveries are aborted by other recoveries we can get replies to
    status or names requests that we've given up on. This can cause problems
    if we're making another request and receive an old reply. Add a sequence
    number to status/names requests and reject replies that don't match. A
    field already exists for the seq number that's used in other message
    types.

    Signed-off-by: David Teigland
    Signed-off-by: Steven Whitehouse

    David Teigland
     

09 Aug, 2006

5 commits


08 Aug, 2006

1 commit

  • This patch fixes the userland DLM unlock code so that it correctly returns the
    address of the userland lock status block in its completion AST.

    It fixes bug #201348

    Patrick

    Signed-Off-By: Patrick Caulfield
    Signed-off-by: Steven Whitehouse

    Patrick Caulfield
     

07 Aug, 2006

7 commits

  • The previous patch didn't change all the gfs_ to gfs2_ so
    this is the remainder.

    Signed-off-by: Steven Whitehouse

    Steven Whitehouse
     
  • Steven Whitehouse
     
  • When the result of a posix lock request is read it needs to be matched up
    with the correct waiting request. The owner field needs to be used in the
    comparison since more than one process may be waiting for locks on the
    same file.

    Signed-off-by: David Teigland
    Signed-off-by: Steven Whitehouse

    David Teigland
     
  • Use the gfs2_ prefix on the register/unregister functions for the lock
    modules. The gfs_ prefix was left from an old idea on how to share these
    with gfs1.

    Signed-off-by: David Teigland
    Signed-off-by: Steven Whitehouse

    David Teigland
     
  • Linus Torvalds
     
  • * 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/dtor/input: (24 commits)
    Input: ati_remote - use msec instead of jiffies
    Input: ati_remote - add missing input_sync()
    Input: ati_remote - relax permissions sysfs module parameters
    Input: ati_remote - make filter time a module parameter
    Input: atkbd - restore repeat rate when resuming
    Input: trackpoint - activate protocol when resuming
    Input: logips2pp - fix button mapping for MX300
    Input: keyboard - change to use kzalloc
    Input: serio/gameport - check whether driver core calls succeeded
    Input: spaceball - make 4000FLX Lefty work
    Input: keyboard - simplify emulate_raw() implementation
    Input: keyboard - remove static variable and clean up initialization
    Input: hiddev - use standard list implementation
    Input: add missing handler->start() call
    Input: HID - fix potential out-of-bound array access
    Input: fix list iteration in input_release_device()
    Input: iforce - add Trust Force Feedback Race Master support
    Input: iforce - check array bounds before accessing elements
    Input: libps2 - warn instead of oopsing when passed bad arguments
    Input: fm801-gp - fix use after free
    ...

    Linus Torvalds
     
  • * master.kernel.org:/pub/scm/linux/kernel/git/perex/alsa:
    [ALSA] Don't reject O_RDWR at opening PCM OSS with read/write-only device
    [ALSA] snd-emu10k1: Implement support for Audigy 2 ZS [SB0353]
    [ALSA] add MAINTAINERS entry for snd-aoa
    [ALSA] aoa: platform function gpio: ignore errors from functions that don't exist
    [ALSA] make snd-powermac load even when it can't bind the device
    [ALSA] aoa: fix toonie codec
    [ALSA] aoa: feature gpio layer: fix IRQ access
    [ALSA] Conversions from kmalloc+memset to k(z|c)alloc
    [ALSA] snd-emu10k1: Fixes ALSA bug#2190

    Linus Torvalds
     

06 Aug, 2006

16 commits

  • * master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:
    [LAPB]: Fix windowsize check
    [TCP]: Fixes IW > 2 cases when TCP is application limited
    [PKT_SCHED] RED: Fix overflow in calculation of queue average
    [LLX]: SOCK_DGRAM interface fixes
    [PKT_SCHED]: Return ENOENT if qdisc module is unavailable
    [BRIDGE]: netlink status fix

    Linus Torvalds
     
  • While busy-waiting for completion, check the hardware after scheduling;
    don't schedule and then immediately check the _timeout_. If the yield()
    took a long time (as it does on my OLPC prototype board when it's busy),
    we'd report a timeout even though the hardware was now ready.

    This fixes it, and also switches the yield() for a cond_resched() because
    we don't actually want to be _that_ nice about it. I see nice
    tightly-packed SMBus transactions now, rather than waiting for milliseconds
    between successive phases.

    Actually, we shouldn't be busy-waiting here at all. We should be using
    interrupts. That's an exercise for another day though.

    Signed-off-by: David Woodhouse
    Cc: Christer Weinigel
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Woodhouse
     
  • I saw an oops down this path when trying to create a new file on a UDF
    filesystem which was internally marked as readonly, but mounted rw:

    udf_create
    udf_new_inode
    new_inode
    alloc_inode
    udf_alloc_inode
    udf_new_block
    returns EIO due to readonlyness
    iput (on error)
    udf_put_inode
    udf_discard_prealloc
    udf_next_aext
    udf_current_aext
    udf_get_fileshortad
    OOPS

    the udf_discard_prealloc() path was examining uninitialized fields of the
    udf inode.

    udf_discard_prealloc() already has this code to short-circuit the discard
    path if no extents are preallocated:

    if (UDF_I_ALLOCTYPE(inode) == ICBTAG_FLAG_AD_IN_ICB ||
    inode->i_size == UDF_I_LENEXTENTS(inode))
    {
    return;
    }

    so if we initialize UDF_I_LENEXTENTS(inode) = 0 earlier in udf_new_inode,
    we won't try to free the (not) preallocated blocks, since this will match
    the i_size = 0 set when the inode was initialized.

    Signed-off-by: Eric Sandeen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Eric Sandeen
     
  • The recent fixups in futex.c need to be applied to futex_compat.c too. Fixes
    a hang reported by Olaf.

    Signed-off-by: Thomas Gleixner
    Cc: Olaf Hering
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Thomas Gleixner
     
  • A patch in -mm kernel correct the parsing of "address resources" of pnpacpi.
    Before we assumed it was memory only, but it could be also IO.

    But this change show an hidden bug : some resources could be producer type
    that are not handled by pnp layer. So we should ignore the producer
    resources.

    This patch fixes bug 6292 (http://bugzilla.kernel.org/show_bug.cgi?id=6292).
    Some devices like PNP0A03 have 0xd00-0xffff and 0x0-0xcf7 as IO producer
    resources.

    Before correcting "address resources" parsing, it was seen as memory and was
    harmless, because nobody tried to reserve this memory range as it should be
    IO.

    With the correction it become IO resources, and make failed all others device
    that want to register IO in this range and use pnp layer (like a ISA sound
    card).

    The solution is to ignore producer resources

    Signed-off-by: Matthieu CASTET
    Signed-off-by: Uwe Bugla
    Cc: Bjorn Helgaas
    Cc: Adam Belay
    Cc: "Brown, Len"
    Acked-by: Shaohua Li
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    matthieu castet
     
  • reiserfs_write_full_page does zero bytes in the file past eof, but it may
    call get_block on those buffers as well. On machines where the page size
    is larger than the blocksize, this can result in mmaped files incorrectly
    growing up to a block boundary during writepage.

    The fix is to avoid calling get_block for any blocks that are entirely past
    eof

    Signed-off-by: Chris Mason
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Chris Mason
     
  • The correct lock ordering is inode lock -> BKL

    Signed-off-by: Chris Mason
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Chris Mason
     
  • This patch is for collision check enhancement for memory hot add.

    It's better to do resouce collision check before doing memory hot add,
    which will touch memory management structures.

    And add_section() should check section exists or not before calling
    sparse_add_one_section(). (sparse_add_one_section() will do another
    check anyway. but checking in memory_hotplug.c will be easy to understand.)

    Signed-off-by: KAMEZAWA Hiroyuki
    Cc: keith mannthey
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    KAMEZAWA Hiroyuki
     
  • both of acpi_memory_enable_device() and acpi_memory_add_device() may evaluate
    _CRS method.

    We should avoid evaluate device's resource twice if we could get it
    successfully in past.

    Signed-off-by: KAMEZWA Hiroyuki
    Cc: Keith Mannthey
    Cc: Yasunori Goto
    Cc: Dave Hansen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    KAMEZAWA Hiroyuki
     
  • add_memory() does all necessary check to avoid collision. then, acpi layer
    doesn't have to check region by itself.

    (*) pfn_valid() just returns page struct is valid or not. It returns 0
    if a section has been already added even is ioresource is not added.
    ioresource collision check in mm/memory_hotplug.c can do more precise
    collistion check.
    added enabled bit check just for sanity check..

    Signed-off-by: KAMEZAWA Hiroyuki
    Cc: Keith Mannthey
    Cc: Yasunori Goto
    Cc: Dave Hansen
    Cc: "Brown, Len"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    KAMEZAWA Hiroyuki
     
  • find_next_system_ram() is used to find available memory resource at onlining
    newly added memory. This patch fixes following problem.

    find_next_system_ram() cannot catch this case.

    Resource: (start)-------------(end)
    Section : (start)-------------(end)

    Signed-off-by: KAMEZAWA Hiroyuki
    Cc: Keith Mannthey
    Cc: Yasunori Goto
    Cc: Dave Hansen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    KAMEZAWA Hiroyuki
     
  • find_next_system_ram() returns valid memory range which meets requested area,
    only used by memory-hot-add.

    This function always rewrite requested resource even if returned area is not
    fully fit in requested one. And sometimes the returnd resource is larger than
    requested area. This annoyes the caller. This patch changes the returned
    value to fit in requested area.

    Signed-off-by: KAMEZAWA Hiroyuki
    Cc: Keith Mannthey
    Cc: Yasunori Goto
    Cc: Dave Hansen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    KAMEZAWA Hiroyuki
     
  • ioresouce handling code in memory hotplug allows not-aligned memory hot add.
    But when memmap and other memory structures are initialized, parameters should
    be aligned. (if not aligned, initialization of mem_map will do wrong, it
    assumes parameters are aligned.) This patch fix it.

    And this patch allows ioresource collision check to handle -EEXIST.

    Signed-off-by: KAMEZAWA Hiroyuki
    Cc: Keith Mannthey
    Cc: Yasunori Goto
    Cc: Dave Hansen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    KAMEZAWA Hiroyuki
     
  • In bugzilla #6941, Jens Kilian reported:

    "The function befs_utf2nls (in fs/befs/linuxvfs.c) writes a 0 byte past the
    end of a block of memory allocated via kmalloc(), leading to memory
    corruption. This happens only for filenames which are pure ASCII and a
    multiple of 4 bytes in length. [...]

    Without DEBUG_SLAB, this leads to further corruption and hard lockups; I
    believe this is the bug which has made kernels later than 2.6.8 unusable
    for me. (This must be due to changes in memory management, the bug has
    been in the BeFS driver since the time it was introduced (AFAICT).)

    Steps to reproduce:
    Create a directory (in BeOS, naturally :-) with files named, e.g.,
    "1", "22", "333", "4444", ... Mount it in Linux and do an "ls" or "find""

    This patch implements the suggested fix. Credits to Jens Kilian for
    debugging the problem and finding the right fix.

    Signed-off-by: Diego Calleja
    Cc: Jens Kilian
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Diego Calleja
     
  • At least Maxtor OneTouch III require a "start stop unit" command after auto
    spin-down before the next access can proceed. This patch activates the
    responsible code in scsi_mod for all Maxtor SBP-2 disks.
    https://bugzilla.novell.com/show_bug.cgi?id=183011

    Maybe that should be done for all SBP-2 disks, but better be cautious.

    Signed-off-by: Stefan Richter
    Cc: Jody McIntyre
    Cc: Ben Collins
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Stefan Richter
     
  • While helping someone to submit a patch to the stable branch, I noticed
    that the stable branch is not listed in the MAINTAINERS file. This was
    after I went there to look for the email addresses for the stable branch
    list (stable@kernel.org).

    This patch adds the stable branch to the maintainers file so that people
    can find where to send patches when they have a fix for the stable team.

    Signed-off-by: Steven Rostedt
    Signed-off-by: Chris Wright
    Cc: Greg KH
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Steven Rostedt