From: NeilBrown Date: Mon, 12 Feb 2018 21:09:25 +0000 (+1100) Subject: staging: lustre: honor error code from ll_iget(). X-Git-Tag: v5.15~9122^2~505 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=057d1df6491220d28fdaa743bb98f4e6db1f849e;p=platform%2Fkernel%2Flinux-starfive.git staging: lustre: honor error code from ll_iget(). Commit 020ecc6f3229 ("staging: lustre: llite: Remove IS_ERR tests") changed ll_prep_inode to assume any error from ll_iget() meant -ENOMEM because at that time it only returned NULL for errors. Commit c3397e7e677b ("staging: lustre: llite: add error handler in inode prepare phase") changed ll_iget() to once again return meaningful codes, but nobody told ll_prep_inode(). So change ll_prep_inode() back to using PTR_ERR(*inode). Signed-off-by: NeilBrown Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/lustre/lustre/llite/llite_lib.c b/drivers/staging/lustre/lustre/llite/llite_lib.c index 6735a6f006d2..020f0faeb750 100644 --- a/drivers/staging/lustre/lustre/llite/llite_lib.c +++ b/drivers/staging/lustre/lustre/llite/llite_lib.c @@ -2143,7 +2143,7 @@ int ll_prep_inode(struct inode **inode, struct ptlrpc_request *req, md.posix_acl = NULL; } #endif - rc = -ENOMEM; + rc = PTR_ERR(*inode); CERROR("new_inode -fatal: rc %d\n", rc); goto out; }