lkml.org 
[lkml]   [2010]   [May]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[64/98] jfs: fix diAllocExt error in resizing filesystem
    2.6.32-stable review patch.  If anyone has any objections, please let us know.

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

    From: Bill Pemberton <wfp5p@virginia.edu>

    commit 2b0b39517d1af5294128dbc2fd7ed39c8effa540 upstream.

    Resizing the filesystem would result in an diAllocExt error in some
    instances because changes in bmp->db_agsize would not get noticed if
    goto extendBmap was called.

    Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
    Signed-off-by: Dave Kleikamp <shaggy@linux.vnet.ibm.com>
    Cc: jfs-discussion@lists.sourceforge.net
    Cc: linux-kernel@vger.kernel.org
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

    ---
    fs/jfs/resize.c | 6 +++++-
    1 file changed, 5 insertions(+), 1 deletion(-)

    --- a/fs/jfs/resize.c
    +++ b/fs/jfs/resize.c
    @@ -81,6 +81,7 @@ int jfs_extendfs(struct super_block *sb,
    struct inode *iplist[1];
    struct jfs_superblock *j_sb, *j_sb2;
    uint old_agsize;
    + int agsizechanged = 0;
    struct buffer_head *bh, *bh2;

    /* If the volume hasn't grown, get out now */
    @@ -333,6 +334,9 @@ int jfs_extendfs(struct super_block *sb,
    */
    if ((rc = dbExtendFS(ipbmap, XAddress, nblocks)))
    goto error_out;
    +
    + agsizechanged |= (bmp->db_agsize != old_agsize);
    +
    /*
    * the map now has extended to cover additional nblocks:
    * dn_mapsize = oldMapsize + nblocks;
    @@ -432,7 +436,7 @@ int jfs_extendfs(struct super_block *sb,
    * will correctly identify the new ag);
    */
    /* if new AG size the same as old AG size, done! */
    - if (bmp->db_agsize != old_agsize) {
    + if (agsizechanged) {
    if ((rc = diExtendFS(ipimap, ipbmap)))
    goto error_out;




    \
     
     \ /
      Last update: 2010-05-12 11:27    [W:0.025 / U:0.004 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site