From patchwork Thu Jun 13 07:34:09 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Wang Shilong X-Patchwork-Id: 1115322 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=pass (p=quarantine dis=none) header.from=ddn.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=ddn.com header.i=@ddn.com header.b="Xz4hcMwq"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 45PqBN3zPTz9s00 for ; Fri, 14 Jun 2019 02:36:28 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731528AbfFMQg1 (ORCPT ); Thu, 13 Jun 2019 12:36:27 -0400 Received: from mail-eopbgr740079.outbound.protection.outlook.com ([40.107.74.79]:17376 "EHLO NAM01-BN3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1727176AbfFMHeO (ORCPT ); Thu, 13 Jun 2019 03:34:14 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ddn.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=61kvRBY7Sb/+631jV1snlv0jDD40Yfex/sO0GjRVvQc=; b=Xz4hcMwqUT3RdZ78k0vQg/b8Q8WQVQB3P6R/3akrwduWhm8THrzAZqjo2Y0IRioG9nxriQvjJDESN461MXAr6T/S7Gpsx7tFjBkyHN3OgKf4bgNdS2OBNYywqY12KffpVyxx4dOeOYC5QpufozxmXMISyQObT9yA6iiYvILxz50= Received: from MN2PR19MB3167.namprd19.prod.outlook.com (10.255.181.16) by MN2PR19MB2717.namprd19.prod.outlook.com (20.178.253.161) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1987.10; Thu, 13 Jun 2019 07:34:09 +0000 Received: from MN2PR19MB3167.namprd19.prod.outlook.com ([fe80::dc80:b43c:bae8:93ac]) by MN2PR19MB3167.namprd19.prod.outlook.com ([fe80::dc80:b43c:bae8:93ac%6]) with mapi id 15.20.1987.010; Thu, 13 Jun 2019 07:34:09 +0000 From: Wang Shilong To: Chao Yu , Wang Shilong , "linux-ext4@vger.kernel.org" , "linux-f2fs-devel@lists.sourceforge.net" CC: Andreas Dilger Subject: =?gb2312?b?u9i4tDogW1BBVENIIDIvMl0gZjJmczogb25seSBzZXQgcHJvamVj?= =?gb2312?b?dCBpbmhlcml0IGJpdCBmb3IgZGlyZWN0b3J5?= Thread-Topic: =?gb2312?b?u9i4tDogW1BBVENIIDIvMl0gZjJmczogb25seSBzZXQgcHJv?= =?gb2312?b?amVjdCBpbmhlcml0IGJpdCBmb3IgZGlyZWN0b3J5?= Thread-Index: AQHVHCDhgH+VuQHB00eQdWW5nGRidqaZLF6AgACVXgI= Date: Thu, 13 Jun 2019 07:34:09 +0000 Message-ID: References: <1559795545-17290-1-git-send-email-wshilong1991@gmail.com> <1559795545-17290-2-git-send-email-wshilong1991@gmail.com>, <73fb9e88-d3f5-9420-d6d8-82ff4354e4d6@huawei.com> In-Reply-To: <73fb9e88-d3f5-9420-d6d8-82ff4354e4d6@huawei.com> Accept-Language: zh-CN, en-US Content-Language: zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=wshilong@ddn.com; x-originating-ip: [36.62.199.127] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 31fd6d66-302b-4882-fb19-08d6efd18621 x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600148)(711020)(4605104)(1401327)(2017052603328)(7193020); SRVR:MN2PR19MB2717; x-ms-traffictypediagnostic: MN2PR19MB2717: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8882; x-forefront-prvs: 0067A8BA2A x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(39850400004)(396003)(366004)(346002)(376002)(136003)(189003)(199004)(316002)(14444005)(7696005)(305945005)(3846002)(99286004)(256004)(33656002)(6116002)(224303003)(53546011)(6506007)(476003)(76176011)(81156014)(74316002)(9686003)(6436002)(8936002)(110136005)(53936002)(55016002)(11346002)(446003)(486006)(81166006)(71190400001)(71200400001)(26005)(7736002)(66066001)(25786009)(4326008)(5660300002)(186003)(102836004)(64756008)(66556008)(14454004)(86362001)(2501003)(52536014)(2906002)(66446008)(76116006)(66946007)(73956011)(2201001)(68736007)(66476007)(478600001); DIR:OUT; SFP:1101; SCL:1; SRVR:MN2PR19MB2717; H:MN2PR19MB3167.namprd19.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; received-spf: None (protection.outlook.com: ddn.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: GaybPuLU7fxcESrnlUxJPe/UqqFEQ4GicKxdpkttb2ZAHu1Rhx8cQhUx+T6o2DFs3C/H5Mo8T/y1yD7FpVoaTCwCXPY1pxHvtwMgDxnRVVLfQ9Thn9UIkViD4z7FyhKN2iCcchzjguUOh+sJJ1vO4rj+J169AFaiCd80BZEh2TAyveGLU1G8u/XzhQRh261gCGjjOs0yNRay9u/n/I8bsyz3kTIjOwH7Nukw+1bdA9meVBGuC46/61fWxi8YZIIFL0HiOMLcSo1ilzNU2JCP0z97cp6knVTTEiw3aZDVr3/XE5FlQbPDG6yTzFMwjE6Rz2xzxEj+lcjAiIrbQyC++LbfXJo/gzdAuJ1yg904Msg9mm7BurOsJuZnFscGKSxbrWIrPSrGQI6fN191rcVwxjXwMcXbld0cMKduuj2mDdg= MIME-Version: 1.0 X-OriginatorOrg: ddn.com X-MS-Exchange-CrossTenant-Network-Message-Id: 31fd6d66-302b-4882-fb19-08d6efd18621 X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Jun 2019 07:34:09.5202 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 753b6e26-6fd3-43e6-8248-3f1735d59bb4 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: wshilong@ddn.com X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR19MB2717 Sender: linux-ext4-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-ext4@vger.kernel.org Hi Chao, I just sent a V2, but I think we'd better do that when reading inode, for two reasons: 1) not only F2FS_IOC_GETFLAGS need filter flags but also F2FS_IOC_FSGETXATTR need that, so the amended parts is not enough IMO. 2) doing that by reading inode give a benefit that we could correct on disk flags for regular file next dirtying inode happen. diff --git a/fs/f2fs/file.c b/fs/f2fs/file.c index efdafa886510..295ca5ed42d9 100644 --- a/fs/f2fs/file.c +++ b/fs/f2fs/file.c @@ -1759,6 +1759,9 @@ static int f2fs_ioc_getflags(struct file *filp, unsigned long arg) fsflags &= F2FS_GETTABLE_FS_FL; + if (S_ISREG(inode->i_mode)) + fsflags &= ~FS_PROJINHERIT_FL; + return put_user(fsflags, (int __user *)arg); }