xfs
[Top] [All Lists]

[XFS updates] XFS development tree branch, for-linus, updated. v2.6.29-7

To: xfs@xxxxxxxxxxx
Subject: [XFS updates] XFS development tree branch, for-linus, updated. v2.6.29-7201-g1b17d76
From: xfs@xxxxxxxxxxx
Date: Mon, 1 Jun 2009 23:23:21 -0500
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "XFS development tree".

The branch, for-linus has been updated
  1b17d76 xfs: prevent deadlock in xfs_qm_shake()
  e6da7c9 xfs: fix overflow in xfs_growfs_data_private
  1f23920 xfs: fix double unlock in xfs_swap_extents()
      from  28e211700a81b0a934b6c7a4b8e7dda843634d2f (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 1b17d766463d51904cb242f194a780737e5f73ef
Author: Felix Blyakher <felixb@xxxxxxx>
Date:   Mon Jun 1 13:13:24 2009 -0500

    xfs: prevent deadlock in xfs_qm_shake()
    
    It's possible to recurse into filesystem from the memory
    allocation, which deadlocks in xfs_qm_shake(). Add check
    for __GFP_FS, and bail out if it is not set.
    
    Signed-off-by: Felix Blyakher <felixb@xxxxxxx>
    Signed-off-by: Hedi Berriche <hedi@xxxxxxx>
    Reviewed-by: Christoph Hellwig <hch@xxxxxx>
    Reviewed-by: Andi Kleen <ak@xxxxxxxxxxxxxxx>
    Signed-off-by: Felix Blyakher <felixb@xxxxxxx>

commit e6da7c9fed111ba1243297ee6eda8e24ae11c384
Author: Eric Sandeen <sandeen@xxxxxxxxxxx>
Date:   Sat May 23 14:30:12 2009 -0500

    xfs: fix overflow in xfs_growfs_data_private
    
    In the case where growing a filesystem would leave the last AG
    too small, the fixup code has an overflow in the calculation
    of the new size with one fewer ag, because "nagcount" is a 32
    bit number.  If the new filesystem has > 2^32 blocks in it
    this causes a problem resulting in an EINVAL return from growfs:
    
     # xfs_io -f -c "truncate 19998630180864" fsfile
     # mkfs.xfs -f -bsize=4096 -dagsize=76288719b,size=3905982455b fsfile
     # mount -o loop fsfile /mnt
     # xfs_growfs /mnt
    
    meta-data=/dev/loop0             isize=256    agcount=52,
    agsize=76288719 blks
             =                       sectsz=512   attr=2
    data     =                       bsize=4096   blocks=3905982455, imaxpct=5
             =                       sunit=0      swidth=0 blks
    naming   =version 2              bsize=4096   ascii-ci=0
    log      =internal               bsize=4096   blocks=32768, version=2
             =                       sectsz=512   sunit=0 blks, lazy-count=0
    realtime =none                   extsz=4096   blocks=0, rtextents=0
    xfs_growfs: XFS_IOC_FSGROWFSDATA xfsctl failed: Invalid argument
    
    Reported-by: richard.ems@xxxxxxxxxxxxxxxxx
    Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxxx>
    Reviewed-by: Christoph Hellwig <hch@xxxxxx>
    Reviewed-by: Felix Blyakher <felixb@xxxxxxx>
    Signed-off-by: Felix Blyakher <felixb@xxxxxxx>

commit 1f23920dbf1377fa9e4aef4f3d20c34a06a71a35
Author: Felix Blyakher <felixb@xxxxxxx>
Date:   Thu May 7 19:49:45 2009 -0500

    xfs: fix double unlock in xfs_swap_extents()
    
    Regreesion from commit ef8f7fc, which rearranged the code in
    xfs_swap_extents() leading to double unlock of xfs inode ilock.
    That resulted in xfs_fsr deadlocking itself on platforms, which
    don't handle double unlock of rw_semaphore nicely. It caused the
    count go negative, which represents the write holder, without
    really having one. ia64 is one of the platforms where deadlock
    was easily reproduced and the fix was tested.
    
    Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxxx>
    Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxxx>
    Signed-off-by: Felix Blyakher <felixb@xxxxxxx>

-----------------------------------------------------------------------

Summary of changes:
 fs/xfs/linux-2.6/kmem.h |    2 +-
 fs/xfs/xfs_dfrag.c      |    8 +++++---
 fs/xfs/xfs_fsops.c      |    2 +-
 3 files changed, 7 insertions(+), 5 deletions(-)


hooks/post-receive
-- 
XFS development tree

<Prev in Thread] Current Thread [Next in Thread>
  • [XFS updates] XFS development tree branch, for-linus, updated. v2.6.29-7201-g1b17d76, xfs <=