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 <ne...@suse.com>
---
 drivers/staging/lustre/lustre/llite/llite_lib.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

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;
                }


Reply via email to