|
@@ -1469,6 +1469,10 @@ int btrfs_qgroup_reserve(struct btrfs_root *root, u64 num_bytes)
|
|
|
* be exceeded
|
|
|
*/
|
|
|
ulist = ulist_alloc(GFP_ATOMIC);
|
|
|
+ if (!ulist) {
|
|
|
+ ret = -ENOMEM;
|
|
|
+ goto out;
|
|
|
+ }
|
|
|
ulist_add(ulist, qgroup->qgroupid, (uintptr_t)qgroup, GFP_ATOMIC);
|
|
|
ULIST_ITER_INIT(&uiter);
|
|
|
while ((unode = ulist_next(ulist, &uiter))) {
|
|
@@ -1541,6 +1545,10 @@ void btrfs_qgroup_free(struct btrfs_root *root, u64 num_bytes)
|
|
|
goto out;
|
|
|
|
|
|
ulist = ulist_alloc(GFP_ATOMIC);
|
|
|
+ if (!ulist) {
|
|
|
+ btrfs_std_error(fs_info, -ENOMEM);
|
|
|
+ goto out;
|
|
|
+ }
|
|
|
ulist_add(ulist, qgroup->qgroupid, (uintptr_t)qgroup, GFP_ATOMIC);
|
|
|
ULIST_ITER_INIT(&uiter);
|
|
|
while ((unode = ulist_next(ulist, &uiter))) {
|