提交 afae00ab 编写于 作者: S Sunil Mushran 提交者: Mark Fasheh

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: NSunil Mushran <sunil.mushran@oracle.com>
Signed-off-by: NMark Fasheh <mark.fasheh@oracle.com>
上级 dd4a2c2b
...@@ -569,7 +569,7 @@ static int ocfs2_extent_map_insert(struct inode *inode, ...@@ -569,7 +569,7 @@ static int ocfs2_extent_map_insert(struct inode *inode,
ret = -ENOMEM; ret = -ENOMEM;
ctxt.new_ent = kmem_cache_alloc(ocfs2_em_ent_cachep, ctxt.new_ent = kmem_cache_alloc(ocfs2_em_ent_cachep,
GFP_KERNEL); GFP_NOFS);
if (!ctxt.new_ent) { if (!ctxt.new_ent) {
mlog_errno(ret); mlog_errno(ret);
return ret; return ret;
...@@ -583,14 +583,14 @@ static int ocfs2_extent_map_insert(struct inode *inode, ...@@ -583,14 +583,14 @@ static int ocfs2_extent_map_insert(struct inode *inode,
if (ctxt.need_left && !ctxt.left_ent) { if (ctxt.need_left && !ctxt.left_ent) {
ctxt.left_ent = ctxt.left_ent =
kmem_cache_alloc(ocfs2_em_ent_cachep, kmem_cache_alloc(ocfs2_em_ent_cachep,
GFP_KERNEL); GFP_NOFS);
if (!ctxt.left_ent) if (!ctxt.left_ent)
break; break;
} }
if (ctxt.need_right && !ctxt.right_ent) { if (ctxt.need_right && !ctxt.right_ent) {
ctxt.right_ent = ctxt.right_ent =
kmem_cache_alloc(ocfs2_em_ent_cachep, kmem_cache_alloc(ocfs2_em_ent_cachep,
GFP_KERNEL); GFP_NOFS);
if (!ctxt.right_ent) if (!ctxt.right_ent)
break; break;
} }
......
...@@ -117,7 +117,7 @@ struct ocfs2_journal_handle *ocfs2_alloc_handle(struct ocfs2_super *osb) ...@@ -117,7 +117,7 @@ struct ocfs2_journal_handle *ocfs2_alloc_handle(struct ocfs2_super *osb)
{ {
struct ocfs2_journal_handle *retval = NULL; struct ocfs2_journal_handle *retval = NULL;
retval = kcalloc(1, sizeof(*retval), GFP_KERNEL); retval = kcalloc(1, sizeof(*retval), GFP_NOFS);
if (!retval) { if (!retval) {
mlog(ML_ERROR, "Failed to allocate memory for journal " mlog(ML_ERROR, "Failed to allocate memory for journal "
"handle!\n"); "handle!\n");
...@@ -984,7 +984,7 @@ static void ocfs2_queue_recovery_completion(struct ocfs2_journal *journal, ...@@ -984,7 +984,7 @@ static void ocfs2_queue_recovery_completion(struct ocfs2_journal *journal,
{ {
struct ocfs2_la_recovery_item *item; 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) { if (!item) {
/* Though we wish to avoid it, we are in fact safe in /* Though we wish to avoid it, we are in fact safe in
* skipping local alloc cleanup as fsck.ocfs2 is more * skipping local alloc cleanup as fsck.ocfs2 is more
......
...@@ -337,7 +337,7 @@ static void __ocfs2_set_buffer_uptodate(struct ocfs2_inode_info *oi, ...@@ -337,7 +337,7 @@ static void __ocfs2_set_buffer_uptodate(struct ocfs2_inode_info *oi,
(unsigned long long)oi->ip_blkno, (unsigned long long)oi->ip_blkno,
(unsigned long long)block, expand_tree); (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) { if (!new) {
mlog_errno(-ENOMEM); mlog_errno(-ENOMEM);
return; return;
...@@ -349,7 +349,7 @@ static void __ocfs2_set_buffer_uptodate(struct ocfs2_inode_info *oi, ...@@ -349,7 +349,7 @@ static void __ocfs2_set_buffer_uptodate(struct ocfs2_inode_info *oi,
* has no way of tracking that. */ * has no way of tracking that. */
for(i = 0; i < OCFS2_INODE_MAX_CACHE_ARRAY; i++) { for(i = 0; i < OCFS2_INODE_MAX_CACHE_ARRAY; i++) {
tree[i] = kmem_cache_alloc(ocfs2_uptodate_cachep, tree[i] = kmem_cache_alloc(ocfs2_uptodate_cachep,
GFP_KERNEL); GFP_NOFS);
if (!tree[i]) { if (!tree[i]) {
mlog_errno(-ENOMEM); mlog_errno(-ENOMEM);
goto out_free; goto out_free;
......
...@@ -586,7 +586,7 @@ static struct ocfs2_net_wait_ctxt *ocfs2_new_net_wait_ctxt(unsigned int response ...@@ -586,7 +586,7 @@ static struct ocfs2_net_wait_ctxt *ocfs2_new_net_wait_ctxt(unsigned int response
{ {
struct ocfs2_net_wait_ctxt *w; struct ocfs2_net_wait_ctxt *w;
w = kcalloc(1, sizeof(*w), GFP_KERNEL); w = kcalloc(1, sizeof(*w), GFP_NOFS);
if (!w) { if (!w) {
mlog_errno(-ENOMEM); mlog_errno(-ENOMEM);
goto bail; goto bail;
...@@ -749,7 +749,7 @@ static struct ocfs2_vote_msg * ocfs2_new_vote_request(struct ocfs2_super *osb, ...@@ -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)); BUG_ON(!ocfs2_is_valid_vote_request(type));
request = kcalloc(1, sizeof(*request), GFP_KERNEL); request = kcalloc(1, sizeof(*request), GFP_NOFS);
if (!request) { if (!request) {
mlog_errno(-ENOMEM); mlog_errno(-ENOMEM);
} else { } else {
...@@ -1129,7 +1129,7 @@ static int ocfs2_handle_vote_message(struct o2net_msg *msg, ...@@ -1129,7 +1129,7 @@ static int ocfs2_handle_vote_message(struct o2net_msg *msg,
struct ocfs2_super *osb = data; struct ocfs2_super *osb = data;
struct ocfs2_vote_work *work; 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) { if (!work) {
status = -ENOMEM; status = -ENOMEM;
mlog_errno(status); mlog_errno(status);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册