--- l/fs/ocfs2/suballoc.c +++ k/fs/ocfs2/suballoc.c @@ -962,8 +962,10 @@ int ocfs2_reserve_new_metadata_blocks(st { int status; int slot = ocfs2_get_meta_steal_slot(osb); + unsigned int pff = memalloc_nofs_save(); *ac = kzalloc(sizeof(struct ocfs2_alloc_context), GFP_KERNEL); + memalloc_nofs_restore(pff); if (!(*ac)) { status = -ENOMEM; mlog_errno(status);