diff options
author | Josef Bacik <jbacik@fusionio.com> | 2013-02-07 16:27:28 -0500 |
---|---|---|
committer | Josef Bacik <jbacik@fusionio.com> | 2013-02-20 12:59:44 -0500 |
commit | 4a7d0f6854c4a4ad1dba00a3b128a32d39b9a742 (patch) | |
tree | 4c190e5f2a5ad42984c01de4c0649ae44f7f773d | |
parent | 5d80366e9b5e56b3ffc1923b4995e83bbbf605e3 (diff) | |
download | op-kernel-dev-4a7d0f6854c4a4ad1dba00a3b128a32d39b9a742.zip op-kernel-dev-4a7d0f6854c4a4ad1dba00a3b128a32d39b9a742.tar.gz |
Btrfs: cleanup orphan reservation if truncate fails
I noticed we were getting lots of warnings with xfstest 83 because we have
reservations outstanding. This is because we moved the orphan add outside
of the truncate, but we don't actually cleanup our reservation if something
fails. This fixes the problem and I no longer see warnings. Thanks,
Signed-off-by: Josef Bacik <jbacik@fusionio.com>
-rw-r--r-- | fs/btrfs/inode.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c index cf26778..1692580 100644 --- a/fs/btrfs/inode.c +++ b/fs/btrfs/inode.c @@ -2538,6 +2538,8 @@ int btrfs_orphan_cleanup(struct btrfs_root *root) goto out; ret = btrfs_truncate(inode); + if (ret) + btrfs_orphan_del(NULL, inode); } else { nr_unlink++; } |