diff options
author | Yan, Zheng <zheng.yan@oracle.com> | 2010-05-16 10:49:59 -0400 |
---|---|---|
committer | Chris Mason <chris.mason@oracle.com> | 2010-05-25 10:34:53 -0400 |
commit | 4a500fd178c89b96fa166a2d9e7855df33429841 (patch) | |
tree | b97fe0b0c1cb19388fcf28f77cd74a645ec69a61 /fs/btrfs/file-item.c | |
parent | d68fc57b7e3245cfacf2e3b47acfed1946a11786 (diff) |
Btrfs: Metadata ENOSPC handling for tree log
Previous patches make the allocater return -ENOSPC if there is no
unreserved free metadata space. This patch updates tree log code
and various other places to propagate/handle the ENOSPC error.
Signed-off-by: Yan Zheng <zheng.yan@oracle.com>
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Diffstat (limited to 'fs/btrfs/file-item.c')
-rw-r--r-- | fs/btrfs/file-item.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/btrfs/file-item.c b/fs/btrfs/file-item.c index 54a255065aa3..21aead39a76c 100644 --- a/fs/btrfs/file-item.c +++ b/fs/btrfs/file-item.c | |||
@@ -657,6 +657,9 @@ again: | |||
657 | goto found; | 657 | goto found; |
658 | } | 658 | } |
659 | ret = PTR_ERR(item); | 659 | ret = PTR_ERR(item); |
660 | if (ret != -EFBIG && ret != -ENOENT) | ||
661 | goto fail_unlock; | ||
662 | |||
660 | if (ret == -EFBIG) { | 663 | if (ret == -EFBIG) { |
661 | u32 item_size; | 664 | u32 item_size; |
662 | /* we found one, but it isn't big enough yet */ | 665 | /* we found one, but it isn't big enough yet */ |