summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJosef Bacik <josef@redhat.com>2012-01-12 19:10:12 -0500
committerChris Mason <chris.mason@oracle.com>2012-01-16 15:28:54 -0500
commitec39e180fd3188c983c94603634bfcd019f42ae7 (patch)
treebaf6a56fb98735cc533b6a5bb9c29a364a6c0cf3
parentf70a9a6b94af86fca069a7552ab672c31b457786 (diff)
downloadlinux-ec39e180fd3188c983c94603634bfcd019f42ae7.tar.gz
linux-ec39e180fd3188c983c94603634bfcd019f42ae7.tar.bz2
linux-ec39e180fd3188c983c94603634bfcd019f42ae7.zip
Btrfs: release space on error in page_mkwrite
If updating the inode gave us an ENOSPC we were just returning in page_mkwrite, which is a problem since we make our reservation right before trying to update the inode, so fix the out label so that we actually free our reservation. Thanks, Signed-off-by: Josef Bacik <josef@redhat.com> Signed-off-by: Chris Mason <chris.mason@oracle.com>
-rw-r--r--fs/btrfs/inode.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c
index 946a7f1b3295..85fd86ea9830 100644
--- a/fs/btrfs/inode.c
+++ b/fs/btrfs/inode.c
@@ -6488,8 +6488,8 @@ out_unlock:
if (!ret)
return VM_FAULT_LOCKED;
unlock_page(page);
- btrfs_delalloc_release_space(inode, PAGE_CACHE_SIZE);
out:
+ btrfs_delalloc_release_space(inode, PAGE_CACHE_SIZE);
return ret;
}