From patchwork Fri Aug 31 14:33:48 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: cgxu519 X-Patchwork-Id: 964487 Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=linux-ext4-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=gmx.com Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 4222225MYfz9rvt for ; Sat, 1 Sep 2018 00:34:50 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727573AbeHaSmf (ORCPT ); Fri, 31 Aug 2018 14:42:35 -0400 Received: from mout.gmx.net ([212.227.17.20]:51071 "EHLO mout.gmx.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727430AbeHaSmf (ORCPT ); Fri, 31 Aug 2018 14:42:35 -0400 Received: from localhost.localdomain ([113.87.91.43]) by mail.gmx.com (mrgmx102 [212.227.17.174]) with ESMTPSA (Nemesis) id 0M8pKi-1g3Un32scm-00C9K1; Fri, 31 Aug 2018 16:34:22 +0200 From: Chengguang Xu To: jack@suse.com, tytso@mit.edu, adilger.kernel@dilger.ca, jaegeuk@kernel.org, yuchao0@huawei.com, shaggy@kernel.org, hubcap@omnibond.com, martin@omnibond.com Cc: devel@lists.orangefs.org, linux-kernel@vger.kernel.org, linux-ext4@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net, jfs-discussion@lists.sourceforge.net, Chengguang Xu Subject: [PATCH v2 1/5] ext2: cache NULL when both default_acl and acl are NULL Date: Fri, 31 Aug 2018 22:33:48 +0800 Message-Id: <20180831143352.22970-1-cgxu519@gmx.com> X-Mailer: git-send-email 2.17.1 X-Provags-ID: V03:K1:zJ61drPWzc+dm1JwAfmJn2MH0FhX2Y4YI1twJEzNLBXtS2M87tH iTJVvPFqE0PIZ5+oXMDTZMwo/emuhgY/uBOzf0AWz4x5+zkskaCN4f+CXJi1+w/CY8/mfS9 wkiojIe0befJcQwS46HI5GmeuqC3kE3NWh3El6XRbmArxcy9OQ5jbnHII88Wh6sqz84OA0p 7Eqj00PbdUmLWlDE4n5DQ== X-UI-Out-Filterresults: notjunk:1; V01:K0:VRFLwQTDSOQ=:BTchpu3/rQZLzWXzfrlqIj 5NF8iZe3AiXKdPLBrR8inXP/w/VgClRkoMlEslk5/EGkIry6GDEcZHZCiWxj5zuEhTLXfZ/8H j5wvyVpjP1TLEc7pbWa0EQM1aIvM+EvVJh1+CfZWnskAEiuMAUQL8hHMwRb8S5nZh7LtwZngV 168qcTNSSd/7SHpIvtB9O62HuWnBzvxFLfejOAnQm4Zwt+4OgZVA+1Pn8sdzLHg9m7hvNdHrG S5xMXTZRO6hQkTyel1pfaITNVLiisssj7aY9abHzA6n08/9XIX6oGI17OYVp7nhmY8Ibe4asJ oSeTwz1MjDNjhZi+LJtFTP2SmjrDS8nIRI/yZAf7Qvj2FnPkJ6AHkEpmglE+HJ2yAXp34uJ1W k6NZnFlqngURpcDqFJokNjXtQ9mNQkGNxSvxiTxRoy58HuGA+BJiYdx/8sR2MMWVUIaz+UIGr F7na9o3Jqp8dr2EgxVzG1uaaHt8AVFzXoyHPNzccfDLEdROwEnUeckpVMdJ5t2upG2gdg52Z3 aDQ0Ad06L9hAxbdx7rMyYNAz74ZKXAPlooWT+KOz6oz4YBUYGsxQ5CjtqwFGq8T/y+OFF4CV7 e504cgwxX7lsLcpDVhQ54cVXNcULu7ydTTsixnJfht8gN2HyCPWjG9gxmt/us82ToL5h+rE/I oiQV2Hnf6O0QU0gtpjbLySbIHT0hwSqWRQihTIYKOk06rdFDg4AP8r9eJd5HpqXCGCLwBRyoB Al5QAatRxZxIheSvMQrsdYTlcdZKpQZFvsNoYFL3FsklwkLbGhyon5dnZRg= Sender: linux-ext4-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-ext4@vger.kernel.org default_acl and acl of newly created inode will be initiated as ACL_NOT_CACHED in vfs function inode_init_always() and later will be updated by calling xxx_init_acl() in specific filesystems. Howerver, when default_acl and acl are NULL then they keep the value of ACL_NOT_CACHED, this patch tries to cache NULL for acl/default_acl in this case. Signed-off-by: Chengguang Xu --- v1->v2: - Coding style change. fs/ext2/acl.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/fs/ext2/acl.c b/fs/ext2/acl.c index 224c04abb2e5..cf4c77f8dd08 100644 --- a/fs/ext2/acl.c +++ b/fs/ext2/acl.c @@ -256,11 +256,15 @@ ext2_init_acl(struct inode *inode, struct inode *dir) if (default_acl) { error = __ext2_set_acl(inode, default_acl, ACL_TYPE_DEFAULT); posix_acl_release(default_acl); + } else { + inode->i_default_acl = NULL; } if (acl) { if (!error) error = __ext2_set_acl(inode, acl, ACL_TYPE_ACCESS); posix_acl_release(acl); + } else { + inode->i_acl = NULL; } return error; } From patchwork Fri Aug 31 14:33:49 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: cgxu519 X-Patchwork-Id: 964488 Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=linux-ext4-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=gmx.com Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 4222293YLkz9s3x for ; Sat, 1 Sep 2018 00:34:57 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728044AbeHaSmj (ORCPT ); Fri, 31 Aug 2018 14:42:39 -0400 Received: from mout.gmx.net ([212.227.17.20]:33709 "EHLO mout.gmx.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727430AbeHaSmj (ORCPT ); Fri, 31 Aug 2018 14:42:39 -0400 Received: from localhost.localdomain ([113.87.91.43]) by mail.gmx.com (mrgmx102 [212.227.17.174]) with ESMTPSA (Nemesis) id 0M8JyQ-1fj9X11ySY-00vyDL; Fri, 31 Aug 2018 16:34:34 +0200 From: Chengguang Xu To: jack@suse.com, tytso@mit.edu, adilger.kernel@dilger.ca, jaegeuk@kernel.org, yuchao0@huawei.com, shaggy@kernel.org, hubcap@omnibond.com, martin@omnibond.com Cc: devel@lists.orangefs.org, linux-kernel@vger.kernel.org, linux-ext4@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net, jfs-discussion@lists.sourceforge.net, Chengguang Xu Subject: [PATCH v2 2/5] ext4: cache NULL when both default_acl and acl are NULL Date: Fri, 31 Aug 2018 22:33:49 +0800 Message-Id: <20180831143352.22970-2-cgxu519@gmx.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20180831143352.22970-1-cgxu519@gmx.com> References: <20180831143352.22970-1-cgxu519@gmx.com> X-Provags-ID: V03:K1:SLY8f5eIZO+8dRz4on4iY3kojrelTqPTtbHPK3e8lBKsVwRwECK UKQO8kegZEdPQ64sKhO1UIbk5JyYGKa+F4rmWSbg9aohgtVv6waGHXL2fpYUTxFQYNNhWuS KOpsK2AR28IZZBdqSWDnKx7Cop4PPqeQ1mp9LUBRFQNuQRGGIsKKox7u8PoWFJQ543tOE2z sKJMMbs8qnbcWYWnwdIHg== X-UI-Out-Filterresults: notjunk:1; V01:K0:Hftw/YjyDXw=:tiCCninlfF8FCnZmAZKd5Z s/+fpXokK0+4OiXw4vWdvkT/iMpJETTb1W430P1OjCiFbHEWMjQA8AUGth+iKdNIkizjjjtcN WxulhuP19Ug2Yb1dCZDfvwVJjHY6lPhIScUF98RXMdHxpLczS+PKoDsjhogGjCYsatZxrlQLL LirwTOMrYyK3s0jluqZsl7SfuwrYQxBGNYPucq6nzBqUjhL0HhahPTIiW5BRPVwkK2tun7DkP v2zaBH8m1jR4rp0GEjTP4aQvNJzLUGB/jcjfZhGn02wQaJgJUxc7NCg0MQaNUvDpUvHqk1HMG H/NeAivYjb9ByKgqIpQLqd/v+LTc2iJHNNEvwgNdbfiD25029ba2G+qDl/ezupyogee/L7iEc yxeIjcdqy4rRf29PmWxq4Kif2w0sbP0v6OA/YtZNzPuQRvHaP9fiDdtzEUbOwevwiuxeudZPf c/SAYiyIltzZI0UiPvyp8eJ/y2K9xxnAXtKiRj5GhmxVm4vzyunFM7e3bm7XT/OGDN+Y+0UwI WSiymNn2PUssYzifCJaU4U7TlJ6f6Md1YPpwrDDa5T5haq3rMjiDcjkt3LTtRd2zHXmT8PnvD 7jmPFbSyscic+DEbaDmnIQFEGi8s0+Y+7JuXOYuDJldWn9oIv5ZTp3O62wPMTLUicm+0W2Ri8 fk3cKBML2GJqlYcvz8FMHckovpHNB+xUlutKeo4h7b4kN3QzJFWLUMOsskcp09Joh+lBnRASO 81ziiDBk5W61U2ByWuXheHPegP3z5E+lxUovuJRIlpJtIfAKJp0+ZgnPlq4= Sender: linux-ext4-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-ext4@vger.kernel.org default_acl and acl of newly created inode will be initiated as ACL_NOT_CACHED in vfs function inode_init_always() and later will be updated by calling xxx_init_acl() in specific filesystems. Howerver, when default_acl and acl are NULL then they keep the value of ACL_NOT_CACHED, this patch tries to cache NULL for acl/default_acl in this case. Signed-off-by: Chengguang Xu Reviewed-by: Jan Kara --- v1->v2: - Coding style change. fs/ext4/acl.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/fs/ext4/acl.c b/fs/ext4/acl.c index fb50f9aa6ead..c1d570ee1d9f 100644 --- a/fs/ext4/acl.c +++ b/fs/ext4/acl.c @@ -284,12 +284,16 @@ ext4_init_acl(handle_t *handle, struct inode *inode, struct inode *dir) error = __ext4_set_acl(handle, inode, ACL_TYPE_DEFAULT, default_acl, XATTR_CREATE); posix_acl_release(default_acl); + } else { + inode->i_default_acl = NULL; } if (acl) { if (!error) error = __ext4_set_acl(handle, inode, ACL_TYPE_ACCESS, acl, XATTR_CREATE); posix_acl_release(acl); + } else { + inode->i_acl = NULL; } return error; } From patchwork Fri Aug 31 14:33:50 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: cgxu519 X-Patchwork-Id: 964489 Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=linux-ext4-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=gmx.com Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 42222R2rZtz9s1x for ; Sat, 1 Sep 2018 00:35:11 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728082AbeHaSmw (ORCPT ); Fri, 31 Aug 2018 14:42:52 -0400 Received: from mout.gmx.net ([212.227.17.20]:33395 "EHLO mout.gmx.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727430AbeHaSmw (ORCPT ); Fri, 31 Aug 2018 14:42:52 -0400 Received: from localhost.localdomain ([113.87.91.43]) by mail.gmx.com (mrgmx102 [212.227.17.174]) with ESMTPSA (Nemesis) id 0MFz0E-1gAcMO2lEc-00EuCl; Fri, 31 Aug 2018 16:34:43 +0200 From: Chengguang Xu To: jack@suse.com, tytso@mit.edu, adilger.kernel@dilger.ca, jaegeuk@kernel.org, yuchao0@huawei.com, shaggy@kernel.org, hubcap@omnibond.com, martin@omnibond.com Cc: devel@lists.orangefs.org, linux-kernel@vger.kernel.org, linux-ext4@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net, jfs-discussion@lists.sourceforge.net, Chengguang Xu Subject: [PATCH v2 3/5] f2fs: cache NULL when both default_acl and acl are NULL Date: Fri, 31 Aug 2018 22:33:50 +0800 Message-Id: <20180831143352.22970-3-cgxu519@gmx.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20180831143352.22970-1-cgxu519@gmx.com> References: <20180831143352.22970-1-cgxu519@gmx.com> X-Provags-ID: V03:K1:/RhIefOZh0aHUfkOO7kYl866M+kqajmHl/a2nk4GhGQFjF1yikE 6FST6HiQocFxG3mwO0MrtndZVnOroLf0hI0g0TOqXzTYlikSrk4Netk43uoC+EF86O/r9Nm L3qqfKShDqes55tNjJVnGXibEGhbNZ5sSrDDWUacCGpKHsDOih+KrwzqusLK3xzgDvhNCEA 9SYSdHfn5er+98aaF0rvA== X-UI-Out-Filterresults: notjunk:1; V01:K0:OR6dWIJQlQA=:az9MlUgmHuFKt1/DsYiomh nNugJjofuypj//0I2bBCTnequOPLBaKo1X53Npersd7VMd5HLF8o1O3mJNDN6L7Bd3P2eXhrN fya9WDaOFLaHJM/0voSSDBV0ftIPAM4RQKRluOWZmBOlSfiRXkjn/rjFx2swLC0ZX0Q9r99hG zha6UgP6vxVKLqSQffsqBpA29UhrAMDTLhf9AQwX57vEGKQWIWSxxqk0DOqfiOBRkd60i4bXX KVPNkOd1nJ3/q/SEM9ZLHiqz9Mip3gODDS8tvV/OXfiL+n8Jji8hMBxGL00x7q8MT9xLquz78 2WQBggEmNdRlFIoj8TqNITrdUxITjS2ZUXbJDUcHetdFYCS/DHt3sPRZduci+Bw40ZbekyzBJ EH+mYEDdEwQC2Cj4b1Exi0JI9DPPVVd0V8J7ZaIY6ltmhoWOINDTyyR0h7qiJttKX7kHUyI+/ LgCxrcERGERsEyco3TpL4x54Qyr5cyFCp7PqpDrP11Ai4SslPdSEpivBt4yb57NRWCXWL8F+5 9yXllGXExJwY2mOGEoZDIN5voa1Lb+VybxINeZwTQ1BseGzJ/hB/RLdTpcyrsUnwfH7noTNCw NVQ+EYC62snsYwNrmE+ns5ul6tAX21WBZ/zKZVB14tcSZFo8WZz9mUDJi5D7mVlDIgBYRD+mt WyE+ZB/AzaErC7JUQ/dXreeSBFxpX2wtNe/SKmgF976vqOjsS8m2iG6k7MJPfkFN7pHUj2qbO dRyIHbJehW25vHSgin5Fa9BqYfI5mohUfrmuj5B8tekchmOB4pNkz6HMgtY= Sender: linux-ext4-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-ext4@vger.kernel.org default_acl and acl of newly created inode will be initiated as ACL_NOT_CACHED in vfs function inode_init_always() and later will be updated by calling xxx_init_acl() in specific filesystems. Howerver, when default_acl and acl are NULL then they keep the value of ACL_NOT_CACHED, this patch tries to cache NULL for acl/default_acl in this case. Signed-off-by: Chengguang Xu Acked-by: Chao Yu --- v1->v2: - Coding style change. fs/f2fs/acl.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/fs/f2fs/acl.c b/fs/f2fs/acl.c index 111824199a88..80aabdf92659 100644 --- a/fs/f2fs/acl.c +++ b/fs/f2fs/acl.c @@ -394,12 +394,16 @@ int f2fs_init_acl(struct inode *inode, struct inode *dir, struct page *ipage, error = __f2fs_set_acl(inode, ACL_TYPE_DEFAULT, default_acl, ipage); posix_acl_release(default_acl); + } else { + inode->i_default_acl = NULL; } if (acl) { if (!error) error = __f2fs_set_acl(inode, ACL_TYPE_ACCESS, acl, ipage); posix_acl_release(acl); + } else { + inode->i_acl = NULL; } return error; From patchwork Fri Aug 31 14:33:51 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: cgxu519 X-Patchwork-Id: 964490 Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=linux-ext4-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=gmx.com Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 42222W5FScz9s2P for ; Sat, 1 Sep 2018 00:35:15 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728179AbeHaSnB (ORCPT ); Fri, 31 Aug 2018 14:43:01 -0400 Received: from mout.gmx.net ([212.227.17.22]:35483 "EHLO mout.gmx.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727430AbeHaSnB (ORCPT ); Fri, 31 Aug 2018 14:43:01 -0400 Received: from localhost.localdomain ([113.87.91.43]) by mail.gmx.com (mrgmx102 [212.227.17.174]) with ESMTPSA (Nemesis) id 0Lm6IP-1fMPpD2kBl-00Zbyi; Fri, 31 Aug 2018 16:34:51 +0200 From: Chengguang Xu To: jack@suse.com, tytso@mit.edu, adilger.kernel@dilger.ca, jaegeuk@kernel.org, yuchao0@huawei.com, shaggy@kernel.org, hubcap@omnibond.com, martin@omnibond.com Cc: devel@lists.orangefs.org, linux-kernel@vger.kernel.org, linux-ext4@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net, jfs-discussion@lists.sourceforge.net, Chengguang Xu Subject: [PATCH v2 4/5] jfs: cache NULL when both default_acl and acl are NULL Date: Fri, 31 Aug 2018 22:33:51 +0800 Message-Id: <20180831143352.22970-4-cgxu519@gmx.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20180831143352.22970-1-cgxu519@gmx.com> References: <20180831143352.22970-1-cgxu519@gmx.com> X-Provags-ID: V03:K1:d9aJYmZgvM9aGdD5VTaWAHOHVZIrp6b9beQG8hwubkJPXUUJFnX TFuaJ2rexYmgfriQJskD3lhUBbemZQEJCXh7Mue2sNXhyCEDT6JqQw+vCd6YKZMYWnX5Rtd C0rQ+A++QtokeBrtu5hmVQTw73Ue1X2yWBL5KdJwf6uOrPZTKQ5vG9fTe/siQSdGGDWMkYC 2j7tJutR28N/tr4wWcswg== X-UI-Out-Filterresults: notjunk:1; V01:K0:3IIO8lkx4pk=:htnvixdrZjP0wM2z2Ot9XI UDFczgEHAkig7fi20exlEoT2+jyIqQTnAyn7Bsa2gF2e4ODAKiQrY22vTSzs6W0los3+p02l1 IgFJyde7HaBS3sjJGv1Cci+ZLAvLqKqPPezGtuIN5FN4H8kpDvH+xYj2iZNYKPKxMYC9PlYOn QDoafAuQPrlKTObO6/3AuOnphmnrtTPyyxKiyHbVdyasnM0809DddzDQPGmSUiRSMN05X8Bez qlAuFPbpqoTntgdLhux3UkfT4VTINY4eyvYgS8seCWwhb5pRxztnRJHNTr9u2nPvCOF+cE/Cy rI1E28lJgdGbVOvIX+SmLGtsh1Yyswi9MS8GbNfaf8nxUY0SyHGxD7PVYPuxpOXI0rTUCYC2C D+5DTddNK/cjWHrEcgcXXCllVEFCcJo3kjZT2bS+L5rYDs70CGg3VFpUAUHFLYP5vUYV+KOcU ct7ib4gfdAExd9f5R9VcnEyZpbueKvCmoxzle9zAcEcoln2kTUOLTcD6ZePuuK97XdKuhj2LG l14sOo/70D/q3w//TKNlHDLy16RYzERPfdNR1+yHffMnG+U48lulwmTW6eoPb7raljRO5GsqF 01xL4hp2N1DBTbcgIhYPUItdCt4B9VTqY3n6hRL9pn3NX+rUuoqh3jvZ/Eavunrl5iJ03Wjws fVZydnTYVn/h1L9tYdyZRMl6f+gRLVD4fU/mkx5IPjdZ3TjUXMPKUtHiyvfsua/TDxx15pa+w giGbSUsMPaFuPcbfIcpUZ/MR0MKB6zono9RyO+4dAU9gBVeTpFs5cKzJY40= Sender: linux-ext4-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-ext4@vger.kernel.org default_acl and acl of newly created inode will be initiated as ACL_NOT_CACHED in vfs function inode_init_always() and later will be updated by calling xxx_init_acl() in specific filesystems. Howerver, when default_acl and acl are NULL then they keep the value of ACL_NOT_CACHED, this patch tries to cache NULL for acl/default_acl in this case. Signed-off-by: Chengguang Xu Acked-by: Dave Kleikamp --- v1->v2: - Coding style change. fs/jfs/acl.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/fs/jfs/acl.c b/fs/jfs/acl.c index 2e71b6e7e646..8c06a6ea862d 100644 --- a/fs/jfs/acl.c +++ b/fs/jfs/acl.c @@ -146,12 +146,16 @@ int jfs_init_acl(tid_t tid, struct inode *inode, struct inode *dir) if (default_acl) { rc = __jfs_set_acl(tid, inode, ACL_TYPE_DEFAULT, default_acl); posix_acl_release(default_acl); + } else { + inode->i_default_acl = NULL; } if (acl) { if (!rc) rc = __jfs_set_acl(tid, inode, ACL_TYPE_ACCESS, acl); posix_acl_release(acl); + } else { + inode->i_acl = NULL; } JFS_IP(inode)->mode2 = (JFS_IP(inode)->mode2 & 0xffff0000) | From patchwork Fri Aug 31 14:33:52 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: cgxu519 X-Patchwork-Id: 964491 Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=linux-ext4-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=gmx.com Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 42222h4WWbz9rvt for ; Sat, 1 Sep 2018 00:35:24 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728262AbeHaSnK (ORCPT ); Fri, 31 Aug 2018 14:43:10 -0400 Received: from mout.gmx.net ([212.227.17.22]:50685 "EHLO mout.gmx.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727430AbeHaSnK (ORCPT ); Fri, 31 Aug 2018 14:43:10 -0400 Received: from localhost.localdomain ([113.87.91.43]) by mail.gmx.com (mrgmx102 [212.227.17.174]) with ESMTPSA (Nemesis) id 0MDW9x-1g7bYM0HjJ-00Gq9E; Fri, 31 Aug 2018 16:35:00 +0200 From: Chengguang Xu To: jack@suse.com, tytso@mit.edu, adilger.kernel@dilger.ca, jaegeuk@kernel.org, yuchao0@huawei.com, shaggy@kernel.org, hubcap@omnibond.com, martin@omnibond.com Cc: devel@lists.orangefs.org, linux-kernel@vger.kernel.org, linux-ext4@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net, jfs-discussion@lists.sourceforge.net, Chengguang Xu Subject: [PATCH v2 5/5] orangefs: cache NULL when both default_acl and acl are NULL Date: Fri, 31 Aug 2018 22:33:52 +0800 Message-Id: <20180831143352.22970-5-cgxu519@gmx.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20180831143352.22970-1-cgxu519@gmx.com> References: <20180831143352.22970-1-cgxu519@gmx.com> X-Provags-ID: V03:K1:uxNQ/XKf2YUz8pgu6glf5JPalPJH5RB8lUUceXOg8ov+qMxkd+/ p6w5/vuj2q15inLVZBnnYAQLHib/osoBfIhr/ZXmsMZnDbUxuJDNmBnpTph6JMqc2DUsqlG yXrN+qGcm66+TnAJE8i9hn4xERkOJetHBmu5eMeBKssFuVvVaxVu/lK7Eo6QUEChoS/eOX1 Tdzht8mI1z53FHf20IlVQ== X-UI-Out-Filterresults: notjunk:1; V01:K0:4T70T1yxekw=:j6h4KUq6vJXHgnu+rV1KeK WApSWJxPfhyh/9+kO16rka9uJEarbyllSKMlR2bG6vthxg7jA0rOClicEIKHczO+tV6WWIl+F QgkqnbRzvQVLCr688sKr7RVqOJw6WyKrFw7IVx0usFf0jSkJS00F+/ZZHEYmxlum2VOqbsB79 louEBzxOokGPRcrskgYppjQ6wRJBOytDqKxAfu4dWxUdDPy0ZPjPlHQXMJBXT2HbmlQ1SSacO VS+EjMNZ9T9Un3cPshLC/DfFb6V/G9lfpJ1F0Bwho6kPDL3sXMIVN3TLogZeVrQfTH/Szi/oH eH4w5HQ9zKJshJZ+coUYb+12e7HJZdLP36fsTIqhg98jjbiAYVOuaizI9ppzVAxOvo7CGhT9e +tfm+DPCH/d9/yOoa7QGah191Ygtws4InIxm/Bz6l1mLGBuWVMxbtiaCXucwcWrkolZW2Kn+N d07MChpNjtWYjMxqvIa3TxmmObGg8lCaqrcMXGTWnZlT50z1IzILwrR0ZKPjrnAPTI1z2hQNi 2AVbYROtSOakpscGLLAn5IbXOeFZO26FKtDl+zU45HeAtGAHlyKDHplOLBRknOk3W0x8TEAbQ BiyiADId1bRsdPNoCAoL16VsUzGcw+8rDHjIZCMlEWxtHBHy9w2hszd+yL1qg3Sh+rjAvXqZ9 IusTVs5H5zxWASzQwdu1m6P9Oc8ObP3XWXgP5oOOypmMcBxFGi4Ll/Sz3ZhtG9YcEW+P4KrQW jA4g5/1DBmrzHV5kDy6lYGqKuugvaBaegUad7w/YvFGHso1ysA8/Q1xSqXI= Sender: linux-ext4-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-ext4@vger.kernel.org default_acl and acl of newly created inode will be initiated as ACL_NOT_CACHED in vfs function inode_init_always() and later will be updated by calling xxx_init_acl() in specific filesystems. Howerver, when default_acl and acl are NULL then they keep the value of ACL_NOT_CACHED, this patch tries to cache NULL for acl/default_acl in this case. Signed-off-by: Chengguang Xu --- v1->v2: - Coding style change. fs/orangefs/acl.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/fs/orangefs/acl.c b/fs/orangefs/acl.c index 10587413b20e..72d2ff17d27b 100644 --- a/fs/orangefs/acl.c +++ b/fs/orangefs/acl.c @@ -167,12 +167,16 @@ int orangefs_init_acl(struct inode *inode, struct inode *dir) error = __orangefs_set_acl(inode, default_acl, ACL_TYPE_DEFAULT); posix_acl_release(default_acl); + } else { + inode->i_default_acl = NULL; } if (acl) { if (!error) error = __orangefs_set_acl(inode, acl, ACL_TYPE_ACCESS); posix_acl_release(acl); + } else { + inode->i_acl = NULL; } /* If mode of the inode was changed, then do a forcible ->setattr */