[lustre-devel] [PATCH 2/4] lustre: use GFP_NOFS when lli_och_mutex is held - again
NeilBrown
neilb at suse.com
Sun Dec 9 16:46:16 PST 2018
lockdep reports that lli_och_mutex is involved with fs_reclaim and is
held during this memory allocation - so GFP_NOFS should be used to
avoid a possible deadlock.
This is a second place where this was a problem - I don't think there
are more.
Fixes: 0b0c8c1ca0bd ("lustre: llite: replace several GFP_NOFS with GFP_KERNEL")
Signed-off-by: NeilBrown <neilb at suse.com>
---
drivers/staging/lustre/lustre/llite/file.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/staging/lustre/lustre/llite/file.c b/drivers/staging/lustre/lustre/llite/file.c
index 15910ff5f293..a6f149c47a7a 100644
--- a/drivers/staging/lustre/lustre/llite/file.c
+++ b/drivers/staging/lustre/lustre/llite/file.c
@@ -135,7 +135,7 @@ static int ll_close_inode_openhandle(struct inode *inode,
goto out;
}
- op_data = kzalloc(sizeof(*op_data), GFP_KERNEL);
+ op_data = kzalloc(sizeof(*op_data), GFP_NOFS);
/*
* We leak openhandle and request here on error, but not much to be
* done in OOM case since app won't retry close on error either.
@@ -1652,7 +1652,7 @@ int ll_release_openhandle(struct inode *inode, struct lookup_intent *it)
LASSERT(it_open_error(DISP_OPEN_OPEN, it) == 0);
- och = kzalloc(sizeof(*och), GFP_KERNEL);
+ och = kzalloc(sizeof(*och), GFP_NOFS);
if (!och) {
rc = -ENOMEM;
goto out;
More information about the lustre-devel
mailing list