[PATCH v4 06/10] ntfs: return errors from inode initialization
Hyunchul Lee <[email protected]>
| Newsgroups | dev.linux.lists.ntfs |
|---|---|
| Message-ID | <[email protected]> |
ntfs_iget() previously converted only -ENOMEM from ntfs_read_locked_inode() into an ERR_PTR(). Other initialization errors left the inode on the normal return path after it had been unlocked. Return every non-zero initialization error after releasing the inode reference. Signed-off-by: Hyunchul Lee <[email protected]> --- fs/ntfs/inode.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/fs/ntfs/inode.c b/fs/ntfs/inode.c index 45e013eb3541..ea97a6d028a3 100644 --- a/fs/ntfs/inode.c +++ b/fs/ntfs/inode.c @@ -173,10 +173,11 @@ struct inode *ntfs_iget(struct super_block *sb, u64 mft_no) unlock_new_inode(vi); } /* - * There is no point in keeping bad inodes around if the failure was - * due to ENOMEM. We want to be able to retry again later. + * There is no point in keeping bad inodes around. This also + * simplifies things in that we never need to check for bad inodes + * elsewhere. */ - if (unlikely(err == -ENOMEM)) { + if (unlikely(err)) { iput(vi); vi = ERR_PTR(err); } -- 2.43.0