diff mbox series

ext4: Fix unnecessary hold lock when judge jinode in ext4_inode_attach_jinode

Message ID 20200822092544.2306917-1-yebin10@huawei.com
State Rejected
Headers show
Series ext4: Fix unnecessary hold lock when judge jinode in ext4_inode_attach_jinode | expand

Commit Message

yebin (H) Aug. 22, 2020, 9:25 a.m. UTC
Signed-off-by: Ye Bin <yebin10@huawei.com>
---
 fs/ext4/inode.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

Comments

yebin (H) Aug. 22, 2020, 9:29 a.m. UTC | #1
Sorry, please  ignore it.

On 2020/8/22 17:25, Ye Bin wrote:
> Signed-off-by: Ye Bin <yebin10@huawei.com>
> ---
>   fs/ext4/inode.c | 7 +++----
>   1 file changed, 3 insertions(+), 4 deletions(-)
>
> diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c
> index 3a196d81f594..3504b4cec5b8 100644
> --- a/fs/ext4/inode.c
> +++ b/fs/ext4/inode.c
> @@ -4100,12 +4100,11 @@ int ext4_inode_attach_jinode(struct inode *inode)
>   		return 0;
>   
>   	jinode = jbd2_alloc_inode(GFP_KERNEL);
> +	if (!jinode)
> +		return -ENOMEM;
> +
>   	spin_lock(&inode->i_lock);
>   	if (!ei->jinode) {
> -		if (!jinode) {
> -			spin_unlock(&inode->i_lock);
> -			return -ENOMEM;
> -		}
>   		ei->jinode = jinode;
>   		jbd2_journal_init_jbd_inode(ei->jinode, inode);
>   		jinode = NULL;
diff mbox series

Patch

diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c
index 3a196d81f594..3504b4cec5b8 100644
--- a/fs/ext4/inode.c
+++ b/fs/ext4/inode.c
@@ -4100,12 +4100,11 @@  int ext4_inode_attach_jinode(struct inode *inode)
 		return 0;
 
 	jinode = jbd2_alloc_inode(GFP_KERNEL);
+	if (!jinode)
+		return -ENOMEM;
+
 	spin_lock(&inode->i_lock);
 	if (!ei->jinode) {
-		if (!jinode) {
-			spin_unlock(&inode->i_lock);
-			return -ENOMEM;
-		}
 		ei->jinode = jinode;
 		jbd2_journal_init_jbd_inode(ei->jinode, inode);
 		jinode = NULL;