|
@@ -3887,7 +3887,8 @@ ext4_mb_discard_group_preallocations(struct super_block *sb,
|
|
|
|
|
|
err = ext4_mb_load_buddy(sb, group, &e4b);
|
|
|
if (err) {
|
|
|
- ext4_error(sb, "Error loading buddy information for %u", group);
|
|
|
+ ext4_warning(sb, "Error %d loading buddy information for %u",
|
|
|
+ err, group);
|
|
|
put_bh(bitmap_bh);
|
|
|
return 0;
|
|
|
}
|
|
@@ -4044,10 +4045,11 @@ repeat:
|
|
|
BUG_ON(pa->pa_type != MB_INODE_PA);
|
|
|
group = ext4_get_group_number(sb, pa->pa_pstart);
|
|
|
|
|
|
- err = ext4_mb_load_buddy(sb, group, &e4b);
|
|
|
+ err = ext4_mb_load_buddy_gfp(sb, group, &e4b,
|
|
|
+ GFP_NOFS|__GFP_NOFAIL);
|
|
|
if (err) {
|
|
|
- ext4_error(sb, "Error loading buddy information for %u",
|
|
|
- group);
|
|
|
+ ext4_error(sb, "Error %d loading buddy information for %u",
|
|
|
+ err, group);
|
|
|
continue;
|
|
|
}
|
|
|
|
|
@@ -4303,11 +4305,14 @@ ext4_mb_discard_lg_preallocations(struct super_block *sb,
|
|
|
spin_unlock(&lg->lg_prealloc_lock);
|
|
|
|
|
|
list_for_each_entry_safe(pa, tmp, &discard_list, u.pa_tmp_list) {
|
|
|
+ int err;
|
|
|
|
|
|
group = ext4_get_group_number(sb, pa->pa_pstart);
|
|
|
- if (ext4_mb_load_buddy(sb, group, &e4b)) {
|
|
|
- ext4_error(sb, "Error loading buddy information for %u",
|
|
|
- group);
|
|
|
+ err = ext4_mb_load_buddy_gfp(sb, group, &e4b,
|
|
|
+ GFP_NOFS|__GFP_NOFAIL);
|
|
|
+ if (err) {
|
|
|
+ ext4_error(sb, "Error %d loading buddy information for %u",
|
|
|
+ err, group);
|
|
|
continue;
|
|
|
}
|
|
|
ext4_lock_group(sb, group);
|
|
@@ -5127,8 +5132,8 @@ ext4_trim_all_free(struct super_block *sb, ext4_group_t group,
|
|
|
|
|
|
ret = ext4_mb_load_buddy(sb, group, &e4b);
|
|
|
if (ret) {
|
|
|
- ext4_error(sb, "Error in loading buddy "
|
|
|
- "information for %u", group);
|
|
|
+ ext4_warning(sb, "Error %d loading buddy information for %u",
|
|
|
+ ret, group);
|
|
|
return ret;
|
|
|
}
|
|
|
bitmap = e4b.bd_bitmap;
|