summaryrefslogtreecommitdiff
path: root/fs/btrfs
diff options
context:
space:
mode:
authorMiao Xie <miaox@cn.fujitsu.com>2012-09-11 23:27:35 -0600
committerChris Mason <chris.mason@fusionio.com>2012-10-01 15:19:20 -0400
commit962197babeccc1f4cc8aa28ad844df80bdc85ed0 (patch)
tree0dc45b716f2789ae662e0002a3bd4f6f8d615f3a /fs/btrfs
parent69ffb54347a71c4f2a4694e0c1155af8538d55f6 (diff)
downloadlinux-3.10-962197babeccc1f4cc8aa28ad844df80bdc85ed0.tar.gz
linux-3.10-962197babeccc1f4cc8aa28ad844df80bdc85ed0.tar.bz2
linux-3.10-962197babeccc1f4cc8aa28ad844df80bdc85ed0.zip
Btrfs: fix unnecessary warning when the fragments make the space alloc fail
When we wrote some data by compress mode into a btrfs filesystem which was full of the fragments, the kernel will report: BTRFS warning (device xxx): Aborting unused transaction. The reason is: We can not find a long enough free space to store the compressed data because of the fragmentary free space, and the compressed data can not be splited, so the kernel outputed the above message. In fact, btrfs can deal with this problem very well: it fall back to uncompressed IO, split the uncompressed data into small ones, and then store them into to the fragmentary free space. So we shouldn't output the above warning message. Signed-off-by: Miao Xie <miaox@cn.fujitsu.com>
Diffstat (limited to 'fs/btrfs')
-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 406666cb615..d41e467b4aa 100644
--- a/fs/btrfs/inode.c
+++ b/fs/btrfs/inode.c
@@ -662,7 +662,7 @@ retry:
async_extent->compressed_size,
async_extent->compressed_size,
0, alloc_hint, &ins, 1);
- if (ret)
+ if (ret && ret != -ENOSPC)
btrfs_abort_transaction(trans, root, ret);
btrfs_end_transaction(trans, root);
}