Received: by 2002:a05:6a11:4021:0:0:0:0 with SMTP id ky33csp841126pxb; Wed, 29 Sep 2021 10:46:05 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwrHiN1EOwoxdjqdb8JaaiBdlVsDpwOizDuQOnY5aB8iYGklHazHkyQYRRRE9mKyvF9xuGO X-Received: by 2002:a17:906:469a:: with SMTP id a26mr1265604ejr.38.1632937565254; Wed, 29 Sep 2021 10:46:05 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1632937565; cv=none; d=google.com; s=arc-20160816; b=mzhvLGUl9HMHP5vhkXL746KunDhtGZcVOadJk9n5TF248S4uDaPqO73hIQMXnfkkRR 3qwTeGG2SitgqihMm6ZEHyvn+V/Gh7wKvs33mDyAdpDIQIaasj0cGaCe4ULUN1AqxC/X NNeBNuIhE2Lf+Ysyuep/9ZPbseVMFk69UG/s+uzFq7CE29TrnbQzMUHVfaWbEdDe0oAE O5pgt8v9EF3tZlUJ8a3z03UYgaGSILqdgJTg6krITRpIbc93kw9HH6Hbrnz8emV3Oknf Cnnc1u307LOQMdXCK8Ufr/x8QgEMJjVTGe7764K7RSVs/KGrAbSipNPWcXMvlQJgzDN3 wELA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to:references :cc:to:from:content-language:subject:user-agent:mime-version:date :message-id:dkim-signature; bh=7X851HtkJPAS2V8WLLShNqW7WJirdJyqwC0kSN9mDpA=; b=pLCSVwUGQdeY0QnOGc8lD4KE2F83pPXDuI0RSbrJx98PJL7GluHj2Ed1dS13PLzLz4 XOonQnVPr0kh3mOZd3VtHzlilQLsM/hFfSM9cb8PYxeDiDZKH3831v3veowvKeS9cpJz UcWZBeNnEK8tq5EXD/LxAl8rvGcfqEN1/7KME2UGZ3ug707I1jo3QRwH0s1QSkHExZA/ 4pepym62rz8S4S9pYQHg5ovdw1+hMtQJvyFSzVqhWMW6bNobEJKdf4pqZGAC7fPfNUw7 FDQ3D657/KfI5ZoEW38rfQZfethiMaD+g0AwLKJtj86/nes9TSai3bDmvw6lqKzvmyoM 2Syw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@paragon-software.com header.s=mail header.b=IjsvK9i2; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=paragon-software.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id 28si585468ejg.200.2021.09.29.10.45.40; Wed, 29 Sep 2021 10:46:05 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@paragon-software.com header.s=mail header.b=IjsvK9i2; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=paragon-software.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S245352AbhI2QwF (ORCPT + 99 others); Wed, 29 Sep 2021 12:52:05 -0400 Received: from relaydlg-01.paragon-software.com ([81.5.88.159]:56393 "EHLO relaydlg-01.paragon-software.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S243893AbhI2QwF (ORCPT ); Wed, 29 Sep 2021 12:52:05 -0400 Received: from dlg2.mail.paragon-software.com (vdlg-exch-02.paragon-software.com [172.30.1.105]) by relaydlg-01.paragon-software.com (Postfix) with ESMTPS id 4C4408230F; Wed, 29 Sep 2021 19:50:22 +0300 (MSK) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=paragon-software.com; s=mail; t=1632934222; bh=7X851HtkJPAS2V8WLLShNqW7WJirdJyqwC0kSN9mDpA=; h=Date:Subject:From:To:CC:References:In-Reply-To; b=IjsvK9i2qTNeA/REhvpVP/JOxZWdTYh9VqEcBNke30esEF4W7iiDZSF0ihmPJKpBn bg4xkGZvXVBHhKAmsDvx6voXl3vOCRZp+zr+U6YgBx3aL9BblQMAcjTRafsNOVI6oi q0PGLtq/Oly4fwpkIAeWyDK4MssavDoI2Zr/cEhU= Received: from [192.168.211.131] (192.168.211.131) by vdlg-exch-02.paragon-software.com (172.30.1.105) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2176.2; Wed, 29 Sep 2021 19:50:21 +0300 Message-ID: <7584e179-eade-fef9-9da1-39cbb4d1ef32@paragon-software.com> Date: Wed, 29 Sep 2021 19:50:21 +0300 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.1.1 Subject: [PATCH v3 2/3] fs/ntfs3: Remove locked argument in ntfs_set_ea Content-Language: en-US From: Konstantin Komarov To: CC: , , References: <1514c7ce-9b2c-fc12-75c4-3b4cfd2639a5@paragon-software.com> In-Reply-To: <1514c7ce-9b2c-fc12-75c4-3b4cfd2639a5@paragon-software.com> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Originating-IP: [192.168.211.131] X-ClientProxiedBy: vobn-exch-01.paragon-software.com (172.30.72.13) To vdlg-exch-02.paragon-software.com (172.30.1.105) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org We always need to lock now, because locks became smaller (see d562e901f25d "fs/ntfs3: Move ni_lock_dir and ni_unlock into ntfs_create_inode"). Signed-off-by: Konstantin Komarov --- fs/ntfs3/xattr.c | 29 ++++++++++++++--------------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/fs/ntfs3/xattr.c b/fs/ntfs3/xattr.c index 253a07d9aa7b..29f571b53083 100644 --- a/fs/ntfs3/xattr.c +++ b/fs/ntfs3/xattr.c @@ -257,7 +257,7 @@ static int ntfs_get_ea(struct inode *inode, const char *name, size_t name_len, static noinline int ntfs_set_ea(struct inode *inode, const char *name, size_t name_len, const void *value, - size_t val_size, int flags, int locked) + size_t val_size, int flags) { struct ntfs_inode *ni = ntfs_i(inode); struct ntfs_sb_info *sbi = ni->mi.sbi; @@ -276,8 +276,7 @@ static noinline int ntfs_set_ea(struct inode *inode, const char *name, u64 new_sz; void *p; - if (!locked) - ni_lock(ni); + ni_lock(ni); run_init(&ea_run); @@ -465,8 +464,7 @@ static noinline int ntfs_set_ea(struct inode *inode, const char *name, mark_inode_dirty(&ni->vfs_inode); out: - if (!locked) - ni_unlock(ni); + ni_unlock(ni); run_close(&ea_run); kfree(ea_all); @@ -537,7 +535,7 @@ struct posix_acl *ntfs_get_acl(struct inode *inode, int type) static noinline int ntfs_set_acl_ex(struct user_namespace *mnt_userns, struct inode *inode, struct posix_acl *acl, - int type, int locked) + int type) { const char *name; size_t size, name_len; @@ -594,7 +592,7 @@ static noinline int ntfs_set_acl_ex(struct user_namespace *mnt_userns, flags = 0; } - err = ntfs_set_ea(inode, name, name_len, value, size, flags, locked); + err = ntfs_set_ea(inode, name, name_len, value, size, flags); if (err == -ENODATA && !size) err = 0; /* Removing non existed xattr. */ if (!err) @@ -612,7 +610,7 @@ static noinline int ntfs_set_acl_ex(struct user_namespace *mnt_userns, int ntfs_set_acl(struct user_namespace *mnt_userns, struct inode *inode, struct posix_acl *acl, int type) { - return ntfs_set_acl_ex(mnt_userns, inode, acl, type, 0); + return ntfs_set_acl_ex(mnt_userns, inode, acl, type); } static int ntfs_xattr_get_acl(struct user_namespace *mnt_userns, @@ -693,7 +691,7 @@ int ntfs_init_acl(struct user_namespace *mnt_userns, struct inode *inode, if (default_acl) { err = ntfs_set_acl_ex(mnt_userns, inode, default_acl, - ACL_TYPE_DEFAULT, 1); + ACL_TYPE_DEFAULT); posix_acl_release(default_acl); } else { inode->i_default_acl = NULL; @@ -704,7 +702,7 @@ int ntfs_init_acl(struct user_namespace *mnt_userns, struct inode *inode, else { if (!err) err = ntfs_set_acl_ex(mnt_userns, inode, acl, - ACL_TYPE_ACCESS, 1); + ACL_TYPE_ACCESS); posix_acl_release(acl); } @@ -988,7 +986,7 @@ static noinline int ntfs_setxattr(const struct xattr_handler *handler, } #endif /* Deal with NTFS extended attribute. */ - err = ntfs_set_ea(inode, name, name_len, value, size, flags, 0); + err = ntfs_set_ea(inode, name, name_len, value, size, flags); out: return err; @@ -1004,28 +1002,29 @@ int ntfs_save_wsl_perm(struct inode *inode) int err; __le32 value; + /* TODO: refactor this, so we don't lock 4 times in ntfs_set_ea */ value = cpu_to_le32(i_uid_read(inode)); err = ntfs_set_ea(inode, "$LXUID", sizeof("$LXUID") - 1, &value, - sizeof(value), 0, 0); + sizeof(value), 0); if (err) goto out; value = cpu_to_le32(i_gid_read(inode)); err = ntfs_set_ea(inode, "$LXGID", sizeof("$LXGID") - 1, &value, - sizeof(value), 0, 0); + sizeof(value), 0); if (err) goto out; value = cpu_to_le32(inode->i_mode); err = ntfs_set_ea(inode, "$LXMOD", sizeof("$LXMOD") - 1, &value, - sizeof(value), 0, 0); + sizeof(value), 0); if (err) goto out; if (S_ISCHR(inode->i_mode) || S_ISBLK(inode->i_mode)) { value = cpu_to_le32(inode->i_rdev); err = ntfs_set_ea(inode, "$LXDEV", sizeof("$LXDEV") - 1, &value, - sizeof(value), 0, 0); + sizeof(value), 0); if (err) goto out; } -- 2.33.0