mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-24 12:44:11 +08:00
ocfs2: fix gfp mask in some file system paths
We were using GFP_KERNEL in a handful of places which really wanted GFP_NOFS. Fix this. Signed-off-by: Sunil Mushran <sunil.mushran@oracle.com> Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com>
This commit is contained in:
parent
dd4a2c2bfe
commit
afae00ab45
@ -569,7 +569,7 @@ static int ocfs2_extent_map_insert(struct inode *inode,
|
||||
|
||||
ret = -ENOMEM;
|
||||
ctxt.new_ent = kmem_cache_alloc(ocfs2_em_ent_cachep,
|
||||
GFP_KERNEL);
|
||||
GFP_NOFS);
|
||||
if (!ctxt.new_ent) {
|
||||
mlog_errno(ret);
|
||||
return ret;
|
||||
@ -583,14 +583,14 @@ static int ocfs2_extent_map_insert(struct inode *inode,
|
||||
if (ctxt.need_left && !ctxt.left_ent) {
|
||||
ctxt.left_ent =
|
||||
kmem_cache_alloc(ocfs2_em_ent_cachep,
|
||||
GFP_KERNEL);
|
||||
GFP_NOFS);
|
||||
if (!ctxt.left_ent)
|
||||
break;
|
||||
}
|
||||
if (ctxt.need_right && !ctxt.right_ent) {
|
||||
ctxt.right_ent =
|
||||
kmem_cache_alloc(ocfs2_em_ent_cachep,
|
||||
GFP_KERNEL);
|
||||
GFP_NOFS);
|
||||
if (!ctxt.right_ent)
|
||||
break;
|
||||
}
|
||||
|
@ -117,7 +117,7 @@ struct ocfs2_journal_handle *ocfs2_alloc_handle(struct ocfs2_super *osb)
|
||||
{
|
||||
struct ocfs2_journal_handle *retval = NULL;
|
||||
|
||||
retval = kcalloc(1, sizeof(*retval), GFP_KERNEL);
|
||||
retval = kcalloc(1, sizeof(*retval), GFP_NOFS);
|
||||
if (!retval) {
|
||||
mlog(ML_ERROR, "Failed to allocate memory for journal "
|
||||
"handle!\n");
|
||||
@ -984,7 +984,7 @@ static void ocfs2_queue_recovery_completion(struct ocfs2_journal *journal,
|
||||
{
|
||||
struct ocfs2_la_recovery_item *item;
|
||||
|
||||
item = kmalloc(sizeof(struct ocfs2_la_recovery_item), GFP_KERNEL);
|
||||
item = kmalloc(sizeof(struct ocfs2_la_recovery_item), GFP_NOFS);
|
||||
if (!item) {
|
||||
/* Though we wish to avoid it, we are in fact safe in
|
||||
* skipping local alloc cleanup as fsck.ocfs2 is more
|
||||
|
@ -337,7 +337,7 @@ static void __ocfs2_set_buffer_uptodate(struct ocfs2_inode_info *oi,
|
||||
(unsigned long long)oi->ip_blkno,
|
||||
(unsigned long long)block, expand_tree);
|
||||
|
||||
new = kmem_cache_alloc(ocfs2_uptodate_cachep, GFP_KERNEL);
|
||||
new = kmem_cache_alloc(ocfs2_uptodate_cachep, GFP_NOFS);
|
||||
if (!new) {
|
||||
mlog_errno(-ENOMEM);
|
||||
return;
|
||||
@ -349,7 +349,7 @@ static void __ocfs2_set_buffer_uptodate(struct ocfs2_inode_info *oi,
|
||||
* has no way of tracking that. */
|
||||
for(i = 0; i < OCFS2_INODE_MAX_CACHE_ARRAY; i++) {
|
||||
tree[i] = kmem_cache_alloc(ocfs2_uptodate_cachep,
|
||||
GFP_KERNEL);
|
||||
GFP_NOFS);
|
||||
if (!tree[i]) {
|
||||
mlog_errno(-ENOMEM);
|
||||
goto out_free;
|
||||
|
@ -586,7 +586,7 @@ static struct ocfs2_net_wait_ctxt *ocfs2_new_net_wait_ctxt(unsigned int response
|
||||
{
|
||||
struct ocfs2_net_wait_ctxt *w;
|
||||
|
||||
w = kcalloc(1, sizeof(*w), GFP_KERNEL);
|
||||
w = kcalloc(1, sizeof(*w), GFP_NOFS);
|
||||
if (!w) {
|
||||
mlog_errno(-ENOMEM);
|
||||
goto bail;
|
||||
@ -749,7 +749,7 @@ static struct ocfs2_vote_msg * ocfs2_new_vote_request(struct ocfs2_super *osb,
|
||||
|
||||
BUG_ON(!ocfs2_is_valid_vote_request(type));
|
||||
|
||||
request = kcalloc(1, sizeof(*request), GFP_KERNEL);
|
||||
request = kcalloc(1, sizeof(*request), GFP_NOFS);
|
||||
if (!request) {
|
||||
mlog_errno(-ENOMEM);
|
||||
} else {
|
||||
@ -1129,7 +1129,7 @@ static int ocfs2_handle_vote_message(struct o2net_msg *msg,
|
||||
struct ocfs2_super *osb = data;
|
||||
struct ocfs2_vote_work *work;
|
||||
|
||||
work = kmalloc(sizeof(struct ocfs2_vote_work), GFP_KERNEL);
|
||||
work = kmalloc(sizeof(struct ocfs2_vote_work), GFP_NOFS);
|
||||
if (!work) {
|
||||
status = -ENOMEM;
|
||||
mlog_errno(status);
|
||||
|
Loading…
Reference in New Issue
Block a user