X-Git-Url: https://git.openpandora.org/cgi-bin/gitweb.cgi?p=pandora-kernel.git;a=blobdiff_plain;f=fs%2Fbtrfs%2Fextent-tree.c;fp=fs%2Fbtrfs%2Fextent-tree.c;h=57c4ad3bc1a03f8a99728abcbb984b6287a6b15f;hp=da528f830cdd12c02e510ada52de9157af7377cf;hb=0984cc102900d0d3f2ca2c441f6cc39c4fb4b9af;hpb=a169d575495721d0b16d98706ba74c67f277dbac diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c index da528f830cdd..57c4ad3bc1a0 100644 --- a/fs/btrfs/extent-tree.c +++ b/fs/btrfs/extent-tree.c @@ -2759,13 +2759,6 @@ again: goto again; } - /* We've already setup this transaction, go ahead and exit */ - if (block_group->cache_generation == trans->transid && - i_size_read(inode)) { - dcs = BTRFS_DC_SETUP; - goto out_put; - } - /* * We want to set the generation to 0, that way if anything goes wrong * from here on out we know not to trust this cache when we load up next @@ -2775,6 +2768,13 @@ again: ret = btrfs_update_inode(trans, root, inode); WARN_ON(ret); + /* We've already setup this transaction, go ahead and exit */ + if (block_group->cache_generation == trans->transid && + i_size_read(inode)) { + dcs = BTRFS_DC_SETUP; + goto out_put; + } + if (i_size_read(inode) > 0) { ret = btrfs_truncate_free_space_cache(root, trans, path, inode);