Merge branch 'for-chris' of http://git.kernel.org/pub/scm/linux/kernel/git/josef...
authorChris Mason <chris.mason@oracle.com>
Thu, 15 Dec 2011 18:43:49 +0000 (13:43 -0500)
committerChris Mason <chris.mason@oracle.com>
Thu, 15 Dec 2011 18:43:49 +0000 (13:43 -0500)
Conflicts:
fs/btrfs/inode.c

Signed-off-by: Chris Mason <chris.mason@oracle.com>
1  2 
fs/btrfs/async-thread.c
fs/btrfs/inode.c
fs/btrfs/ioctl.c
fs/btrfs/super.c

Simple merge
index d4a9195c7f0d0221d0eac073da01fb2e8918923f,b212f391ceabf1bb53960eb7fa9072bdd7372153..740e67bbe249e852c7cedffa446861544d0d9e5f
@@@ -3414,20 -3385,16 +3422,19 @@@ static int btrfs_setsize(struct inode *
                return 0;
  
        if (newsize > oldsize) {
 -              i_size_write(inode, newsize);
 -              btrfs_ordered_update_i_size(inode, i_size_read(inode), NULL);
                truncate_pagecache(inode, oldsize, newsize);
                ret = btrfs_cont_expand(inode, oldsize, newsize);
 -              if (ret) {
 -                      btrfs_setsize(inode, oldsize);
 +              if (ret)
                        return ret;
 -              }
  
 -              ret = btrfs_dirty_inode(inode);
 +              trans = btrfs_start_transaction(root, 1);
 +              if (IS_ERR(trans))
 +                      return PTR_ERR(trans);
 +
 +              i_size_write(inode, newsize);
 +              btrfs_ordered_update_i_size(inode, i_size_read(inode), NULL);
 +              ret = btrfs_update_inode(trans, root, inode);
 +              btrfs_end_transaction_throttle(trans, root);
        } else {
  
                /*
Simple merge
Simple merge