]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
Btrfs: release space on error in page_mkwrite
authorJosef Bacik <josef@redhat.com>
Fri, 13 Jan 2012 00:10:12 +0000 (19:10 -0500)
committerGuru Anbalagane <guru.anbalagane@oracle.com>
Fri, 27 Jan 2012 01:21:10 +0000 (17:21 -0800)
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>
(cherry picked from commit ec39e180fd3188c983c94603634bfcd019f42ae7)

fs/btrfs/inode.c

index 0ead6ddfc0e7aab3f6478e917caac70dd1c155cb..e9e3f375b6833170f6fe68e6130758f8938fab5a 100644 (file)
@@ -6444,8 +6444,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;
 }