提交 ef3be457 编写于 作者: J Josef Bacik

Btrfs: check unused against how much space we actually want

There is a bug that may lead to early ENOSPC in our reservation code.  We've
been checking against num_bytes which may be above and beyond what we want to
actually reserve, which could give us a false ENOSPC.  Fix this by making sure
the unused space is above how much we want to reserve and not how much we're
trying to flush.  Thanks,
Signed-off-by: NJosef Bacik <josef@redhat.com>
上级 a8c9e576
......@@ -3472,7 +3472,7 @@ static int reserve_metadata_bytes(struct btrfs_root *root,
*/
if (unused <= space_info->total_bytes) {
unused = space_info->total_bytes - unused;
if (unused >= num_bytes) {
if (unused >= orig_bytes) {
space_info->bytes_may_use += orig_bytes;
ret = 0;
} else {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册