Commit 81e0b6c7 authored by Kent Overstreet's avatar Kent Overstreet
Browse files

bcachefs: fix disk reservation accounting in bch2_folio_reservation_get()



bch2_disk_reservation_put() zeroes out the reservation - oops.

This fixes a disk reservation leak when getting a quota reservation
returned an error.

Signed-off-by: default avatarKent Overstreet <kent.overstreet@linux.dev>
parent 4007bbb2
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -431,9 +431,9 @@ int bch2_folio_reservation_get(struct bch_fs *c,
		ret = bch2_quota_reservation_add(c, inode, &res->quota, quota_sectors, true);
		if (unlikely(ret)) {
			struct disk_reservation tmp = { .sectors = disk_sectors };
			res->disk.sectors -= disk_sectors;

			bch2_disk_reservation_put(c, &tmp);
			res->disk.sectors -= disk_sectors;
			return ret;
		}
	}