btrfs: Fix early enospc because 'unused' calculated with wrong sign.
'unused' calculated with wrong sign in reserve_metadata_bytes(). This might have lead to unwanted over-reservations. Signed-off-by: Arne Jansen <sensille@gmx.net> Reviewed-by: Josef Bacik <josef@redhat.com> Signed-off-by: Chris Mason <chris.mason@oracle.com>
This commit is contained in:
parent
e65e153554
commit
6f33434850
1 changed files with 1 additions and 1 deletions
|
@ -3413,7 +3413,7 @@ static int reserve_metadata_bytes(struct btrfs_trans_handle *trans,
|
||||||
* our reservation.
|
* our reservation.
|
||||||
*/
|
*/
|
||||||
if (unused <= space_info->total_bytes) {
|
if (unused <= space_info->total_bytes) {
|
||||||
unused -= space_info->total_bytes;
|
unused = space_info->total_bytes - unused;
|
||||||
if (unused >= num_bytes) {
|
if (unused >= num_bytes) {
|
||||||
if (!reserved)
|
if (!reserved)
|
||||||
space_info->bytes_reserved += orig_bytes;
|
space_info->bytes_reserved += orig_bytes;
|
||||||
|
|
Loading…
Add table
Reference in a new issue