Btrfs: make sure reserve_metadata_bytes doesn't leak out strange errors

The btrfs transaction code will return any errors that come from
reserve_metadata_bytes.  We need to make sure we don't return funny
things like 1 or EAGAIN.

Signed-off-by: Chris Mason <chris.mason@oracle.com>
This commit is contained in:
Chris Mason 2011-07-27 15:57:44 -04:00
parent 2cf8572dac
commit 75c195a2ca

View file

@ -3474,6 +3474,8 @@ again:
if (ret < 0)
goto out;
ret = 0;
/*
* So if we were overcommitted it's possible that somebody else flushed
* out enough space and we simply didn't have enough space to reclaim,
@ -3496,10 +3498,13 @@ again:
goto out;
ret = -EAGAIN;
if (trans || committed)
if (trans)
goto out;
ret = -ENOSPC;
if (committed)
goto out;
trans = btrfs_join_transaction(root);
if (IS_ERR(trans))
goto out;