20 May, 2011

3 commits


27 Apr, 2011

5 commits


26 Apr, 2011

25 commits

  • * git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable:
    Btrfs: cleanup error handling in inode.c
    Btrfs: put the right bio if we have an error
    Btrfs: free bitmaps properly when evicting the cache
    Btrfs: Free free_space item properly in btrfs_trim_block_group()
    btrfs: add missing spin_unlock to a rare exit path
    Btrfs: check return value of kmalloc()
    btrfs: fix wrong allocating flag when reading page
    Btrfs: fix missing mutex_unlock in btrfs_del_dir_entries_in_log()

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable:
    Btrfs: do some plugging in the submit_bio threads

    Linus Torvalds
     
  • F15h CPUs may report a non-DRAM address when reporting an error address
    belonging to a CC6 state save area. Add a workaround to detect this
    condition and compute the actual DRAM address of the error as documented
    in the Revision Guide for AMD Family 15h Models 00h-0Fh Processors.

    Signed-off-by: Borislav Petkov

    Borislav Petkov
     
  • F15h and later use a portion of DRAM as a CC6 storage area. BIOS
    programs D18F1x[17C:140,7C:40] DRAM Base/Limit accordingly by
    subtracting the storage area from the DRAM limit setting. However, in
    order for edac to consider that part of DRAM too, we need to include it
    into the per-node range.

    Signed-off-by: Borislav Petkov

    Borislav Petkov
     
  • This warning was wrongfully added for a normal condition - intlvsel
    actually selects the destination node when node interleaving is enabled
    and it is not a mismatch. For a detailed example, see section 2.8.10.2
    "Node Interleaving" in F10h BKDG.

    Signed-off-by: Borislav Petkov

    Borislav Petkov
     
  • This patch adds the TCO Watchdog DeviceIDs for the Intel Panther Point PCH.

    Signed-off-by: Seth Heasley
    Signed-off-by: Wim Van Sebroeck

    Seth Heasley
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6:
    CIFS: Fix memory over bound bug in cifs_parse_mount_options

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ecryptfs/ecryptfs-2.6:
    eCryptfs: Flush dirty pages in setattr
    eCryptfs: Handle failed metadata read in lookup
    eCryptfs: Add reference counting to lower files
    eCryptfs: dput dentries returned from dget_parent
    eCryptfs: Remove extra d_delete in ecryptfs_rmdir

    Linus Torvalds
     
  • * 'for-torvalds' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson:
    rtc: fix coh901331 startup crash
    mach-ux500: fix i2c0 device setup regression

    Linus Torvalds
     
  • Now that the security modules can decide whether they support the
    dcache RCU walk or not it's possible to make selinux a bit more
    RCU friendly. The SELinux AVC and security server access decision
    code is RCU safe. A specific piece of the LSM audit code may not
    be RCU safe.

    This patch makes the VFS RCU walk retry if it would hit the non RCU
    safe chunk of code. It will normally just work under RCU. This is
    done simply by passing the VFS RCU state as a flag down into the
    avc_audit() code and returning ECHILD there if it would have an issue.

    Based-on-patch-by: Andi Kleen
    Signed-off-by: Eric Paris
    Signed-off-by: Linus Torvalds

    Eric Paris
     
  • Now that the whole dcache_hash_bucket crap is gone, go all the way and
    also remove the weird locking layering violations for locking the hash
    buckets. Add hlist_bl_lock/unlock helpers to move the locking into the
    list abstraction instead of requiring each caller to open code it.
    After all allowing for the bit locks is the whole point of these helpers
    over the plain hlist variant.

    Signed-off-by: Christoph Hellwig
    Signed-off-by: Linus Torvalds

    Christoph Hellwig
     
  • When we are waiting for the bit-lock to be released, and are looping
    over the 'cpu_relax()' should not be doing anything else - otherwise we
    miss the point of trying to do the whole 'cpu_relax()'.

    Do the preemption enable/disable around the loop, rather than inside of
    it.

    Noticed when I was looking at the code generation for the dcache
    __d_drop usage, and the code just looked very odd.

    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • After 57db4e8d73ef2b5e94a3f412108dff2576670a8a changed eCryptfs to
    write-back caching, eCryptfs page writeback updates the lower inode
    times due to the use of vfs_write() on the lower file.

    To preserve inode metadata changes, such as 'cp -p' does with
    utimensat(), we need to flush all dirty pages early in
    ecryptfs_setattr() so that the user-updated lower inode metadata isn't
    clobbered later in writeback.

    https://bugzilla.kernel.org/show_bug.cgi?id=33372

    Reported-by: Rocko
    Signed-off-by: Tyler Hicks

    Tyler Hicks
     
  • When failing to read the lower file's crypto metadata during a lookup,
    eCryptfs must continue on without throwing an error. For example, there
    may be a plaintext file in the lower mount point that the user wants to
    delete through the eCryptfs mount.

    If an error is encountered while reading the metadata in lookup(), the
    eCryptfs inode's size could be incorrect. We must be sure to reread the
    plaintext inode size from the metadata when performing an open() or
    setattr(). The metadata is already being read in those paths, so this
    adds minimal performance overhead.

    This patch introduces a flag which will track whether or not the
    plaintext inode size has been read so that an incorrect i_size can be
    fixed in the open() or setattr() paths.

    https://bugs.launchpad.net/bugs/509180

    Cc:
    Signed-off-by: Tyler Hicks

    Tyler Hicks
     
  • The error processing of several places is changed like setting the
    error number only at the error.

    Signed-off-by: Tsutomu Itoh
    Signed-off-by: Chris Mason

    Tsutomu Itoh
     
  • In btrfs_submit_direct_hook if the first btrfs_map_block fails we need to put
    the orig_bio, not bio.

    Signed-off-by: Josef Bacik
    Signed-off-by: Chris Mason

    Josef Bacik
     
  • If our space cache is wrong, we do the right thing and free up everything that
    we loaded, however we don't reset the total_bitmaps counter or the thresholds or
    anything. So in btrfs_remove_free_space_cache make sure to call free_bitmap()
    if it's a bitmap, this will keep us from panicing when we check to make sure we
    don't have too many bitmaps. Thanks,

    Signed-off-by: Josef Bacik
    Signed-off-by: Chris Mason

    Josef Bacik
     
  • Since commit dc89e9824464e91fa0b06267864ceabe3186fd8b, we've changed
    to use a specific slab for alocation of free_space items.

    Signed-off-by: Li Zefan
    Signed-off-by: Chris Mason

    Li Zefan
     
  • Signed-off-by: David Sterba
    Signed-off-by: Chris Mason

    David Sterba
     
  • The check on the return value of kmalloc() is added to some places.

    Signed-off-by: Tsutomu Itoh
    Signed-off-by: Chris Mason

    Tsutomu Itoh
     
  • the space cache use extent_readpages() to read free space information,
    so we can not use GFP_KERNEL flag to allocate memory, or it may lead
    to deadlock.

    Signed-off-by: Itaru Kitayama
    Signed-off-by: Miao Xie
    Signed-off-by: Chris Mason

    Itaru Kitayama
     
  • It is necessary to unlock mutex_lock before it return an error when
    btrfs_alloc_path() fails.

    Signed-off-by: Tsutomu Itoh
    Signed-off-by: Chris Mason

    Tsutomu Itoh
     
  • For any given lower inode, eCryptfs keeps only one lower file open and
    multiplexes all eCryptfs file operations through that lower file. The
    lower file was considered "persistent" and stayed open from the first
    lookup through the lifetime of the inode.

    This patch keeps the notion of a single, per-inode lower file, but adds
    reference counting around the lower file so that it is closed when not
    currently in use. If the reference count is at 0 when an operation (such
    as open, create, etc.) needs to use the lower file, a new lower file is
    opened. Since the file is no longer persistent, all references to the
    term persistent file are changed to lower file.

    Locking is added around the sections of code that opens the lower file
    and assign the pointer in the inode info, as well as the code the fputs
    the lower file when all eCryptfs users are done with it.

    This patch is needed to fix issues, when mounted on top of the NFSv3
    client, where the lower file is left silly renamed until the eCryptfs
    inode is destroyed.

    Signed-off-by: Tyler Hicks

    Tyler Hicks
     
  • Call dput on the dentries previously returned by dget_parent() in
    ecryptfs_rename(). This is needed for supported eCryptfs mounts on top
    of the NFSv3 client.

    Signed-off-by: Tyler Hicks

    Tyler Hicks
     
  • vfs_rmdir() already calls d_delete() on the lower dentry. That was being
    duplicated in ecryptfs_rmdir() and caused a NULL pointer dereference
    when NFSv3 was the lower filesystem.

    Signed-off-by: Tyler Hicks

    Tyler Hicks
     

24 Apr, 2011

7 commits