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:
Родитель
2cf8572dac
Коммит
75c195a2ca
|
@ -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;
|
||||
|
|
Загрузка…
Ссылка в новой задаче