From patchwork Thu Feb 20 06:21:25 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Yuezhang.Mo@sony.com" X-Patchwork-Id: 13983369 Received: from mx08-001d1705.pphosted.com (mx08-001d1705.pphosted.com [185.183.30.70]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C981E1DE4EF for ; Thu, 20 Feb 2025 06:21:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=185.183.30.70 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740032513; cv=fail; b=E60VZJ12+Mrnc9nirz3fAphrrQG7HlexKpH3hJMCFyDbitP4aMKKnsJjukEYIugj2EhXnHfI/aAodcDIT/L2px/y/XS7wHQ3JtHikbvYQcmcvCiRWeLs0CLExrKrhvgHHMGRlScfq5QiI/ceSvRddkLMcQwyKe7aYcOwiYlcY3w= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740032513; c=relaxed/simple; bh=ax0J5AxhbmGiFRa6ac4ODMJSHs0ZdHt/+TQvKLKFpNA=; h=From:To:CC:Subject:Date:Message-ID:Content-Type:MIME-Version; b=qj40wXafmzVMvTSQ1tRdyGEBSPtd11aGu+lc11fyNsOTMtkyf1IAWa0Dv1Gw/mgiOSRAz3QQ2aR/bCkxMznIMtc3CplV42x7/WM90Ze8QeGP1nUAkaUAShfl5Uvf3YTILrSpkBH/aWoRpUR871WF+PSrmfGpW47WzMuBnWhon+o= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=sony.com; spf=pass smtp.mailfrom=sony.com; dkim=pass (2048-bit key) header.d=sony.com header.i=@sony.com header.b=VDccoL5S; arc=fail smtp.client-ip=185.183.30.70 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=sony.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=sony.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=sony.com header.i=@sony.com header.b="VDccoL5S" Received: from pps.filterd (m0209318.ppops.net [127.0.0.1]) by mx08-001d1705.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 51K5a9t9003723; Thu, 20 Feb 2025 06:21:35 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sony.com; h=cc :content-transfer-encoding:content-type:date:from:message-id :mime-version:subject:to; s=S1; bh=ax0J5AxhbmGiFRa6ac4ODMJSHs0Zd Ht/+TQvKLKFpNA=; b=VDccoL5Skfyfva0Z0BP8HJFGBale3INBJyFDvNLyJoXbF bdl0NrXvvbXfjawbP6h/sQBM81MlMj5jxyhx/HhA71ljRtMR7LtnD76mYuZOPfHY K6XqeGjX1oyeTpMfDYBGxrJ+2SmMW9u5o3T8HtVc+q/R11tr0g1kym62WYlq1iKe 1ILjsYwCGl3VaBQsu1wYwonklSYAXoYkeKaJDA4jBKCJjh+lAmfYdfYFSqW6K7DV SazqgNgPh6e2lm3Ww0F/5Cg5P508qZRj3WCpPxSrAf5EmpqjWIFGd0CWliLfKqww 91x6gC1Qg1lhdlsidkNZqPltkVC74CYUkHV3K0qQA== Received: from apc01-sg2-obe.outbound.protection.outlook.com (mail-sg2apc01lp2104.outbound.protection.outlook.com [104.47.26.104]) by mx08-001d1705.pphosted.com (PPS) with ESMTPS id 44vyyk1fkn-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 20 Feb 2025 06:21:35 +0000 (GMT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=q20g2oYnKOMVwR/XgueYab+gckWGdbxJZqDfiFr4FQ9nUko1dFgVIE4B9OigdWYupqPw+DF7gw/89nMsn4m0/WYAHfvXGUSSvu3g7sNXU7Wkr5u0lRX2a4cW2ybK6VdZ0KWjSWuhbBKdbMyBkWzhF/znw+V37z7vPI2MRKCoJai3IFyKYDK0RlrwC5IC2KZVM0CQqnovRq6y34+Fweril7Je1iLX7jAQOS6ACgAcH49KBr7+UJeOSXdQkCCBOzASfDme7PokkSBKxIRMyRwxX9X9EIfhmRV6hM2/NwZigwZXDQeOp1B0JrlqWKh/yDJfxhvV/ENeOl4Dpua3ez2Jlg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=ax0J5AxhbmGiFRa6ac4ODMJSHs0ZdHt/+TQvKLKFpNA=; b=WozMHH7Wja127cvmcbYlbA1zJcXYbyoD0PCqfZ8pdAYKUeX3gof9jOYvgmiaT8xLkhzm3ew/DQDM5Gd2sNOs0K+JUGvTeTj7tFgsLFoOuGKO4d8E+qzbzQteJeBvMqNobjLf8KdjYbAPUKtUX2XQ4Ux2PFJgptu+7NCaKGO/yBEyBaVZCpIz6Ip0fj6cF7O+ih6i9FyHaogBmSpwfgSnRrSTtdWArWDws8Fq8ihpGPX1wrICSByeHDX4QAPvF4GDBJhsNQSvJgWBP90RXW63a/zXsAjC6omniQ0QLIB5FvIeu5IR1IkrYE8h0WCyqnPoNPvrCV7p24xS2xrXjyyt7w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=sony.com; dmarc=pass action=none header.from=sony.com; dkim=pass header.d=sony.com; arc=none Received: from PUZPR04MB6316.apcprd04.prod.outlook.com (2603:1096:301:fc::7) by KL1PR04MB6782.apcprd04.prod.outlook.com (2603:1096:820:d0::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8466.16; Thu, 20 Feb 2025 06:21:25 +0000 Received: from PUZPR04MB6316.apcprd04.prod.outlook.com ([fe80::409e:64d3:cee0:7b06]) by PUZPR04MB6316.apcprd04.prod.outlook.com ([fe80::409e:64d3:cee0:7b06%5]) with mapi id 15.20.8445.017; Thu, 20 Feb 2025 06:21:25 +0000 From: "Yuezhang.Mo@sony.com" To: "linkinjeon@kernel.org" , "sj1557.seo@samsung.com" CC: "linux-fsdevel@vger.kernel.org" Subject: [PATCH v1] exfat: make flag mount options unsetable via negative param Thread-Topic: [PATCH v1] exfat: make flag mount options unsetable via negative param Thread-Index: AduDXqgd/Q/wXuhSS16cSAbgmlBVEg== Date: Thu, 20 Feb 2025 06:21:25 +0000 Message-ID: Accept-Language: en-US, zh-CN Content-Language: zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: PUZPR04MB6316:EE_|KL1PR04MB6782:EE_ x-ms-office365-filtering-correlation-id: 4e7784f3-2b40-4ea2-1a0d-08dd5176cddc x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230040|366016|1800799024|376014|38070700018; x-microsoft-antispam-message-info: =?utf-8?q?eCC0vFGK5t+8Qb0p399XvYOTBIsOFZv?= =?utf-8?q?bhjks8hWPH9XQgJWFrM2W8YFCXPAelevpv4+90H/s95F9q/ToENvaHiQeBS2o+sYv?= =?utf-8?q?Rt6F0e0azT8NpfiloGBFfvJ3HSrkG4A0Q3qC7UTvC5K3kpxVMhhGonLbLXeourm0y?= =?utf-8?q?w1B8kiXeK+hOgfkL6jaVPkITzukxcj7uqv4Ido5ZS008ED8A+bgPWUnyaz05gltsz?= =?utf-8?q?Fldl01eUGiGBdRYlBft2jKLoqHKp6Ox6gbCtmVtYos6fNjdjlBdO0veQuOnnxtA19?= =?utf-8?q?nxL7zN2p3cN7IFraIhgoMabFyohkTRyZdqmr63+/9fHBEGm9XgAdMDQOIGjV8C+eQ?= =?utf-8?q?iHNKcsjScMNQwVs8Bgow9O0/niN3nzD9IS8L0GvUTKLWwNaAb8cf3Dmy/9VEfrgQK?= =?utf-8?q?SEchoAm1EFPCRc8YPUSTTcRJlP8dTCJ+QCmLEidjUyLDRb7dB+ir31H2cJq3J0CSN?= =?utf-8?q?p48lt22KvwHS7jO22WO0IknTqde9pCNDIvH51CcA2ZdCNBqHJ9l+LDu21T0/aVVJT?= =?utf-8?q?X5HSCQ/xTmFhDr3YSUqPzECN0ndjyAHqiMMG/tCTYv2mcC6jDOgihTTQDO9vKZAiS?= =?utf-8?q?W3gyoGiuDwl5kEfaBZj9IDfW0rFo/54aSe/j9Dy/GrJO47jXOL0aMUHXDBKtFw7yB?= =?utf-8?q?Zi88QZsXGxwb91fxU5xRxmdcKoGh861DbvVTFwet9REL0/cioOJ19spqElsS7rHJn?= =?utf-8?q?UZaLcXOiCX2dalGNIDjSjLZNMbT0PvqhS+HUCo8vg8bKpM1BBt7oi1YxqHctJi7tr?= =?utf-8?q?dJ4HjZiNRuB/813Z3BX7X+rI2UPOmlGT8O/alDdAhMxSHp9P60i8j1BkFmjvU4Y7C?= =?utf-8?q?31paxOHSyCFg/sV32fNJKdqkxrv+XUNAPP21RqikreN6bLQAyKlehoeRnVEDEHR18?= =?utf-8?q?dH3DogS/zo/4hCDAgrucpnIKRLBzEIj1KmRMLgVZ7Z7wGPkecOEGPMApgXvjULA8b?= =?utf-8?q?JQ/LBqxu5X6lCvIpKwb4X1F21ULiNqGP8+HSArmmRWQBGPhmL4Gxr4QiEoHJ+i0tg?= =?utf-8?q?Llt6W2xteIKvqCfP1sRa4/2WpGt6Vv43gC4cI4VFRfxdtwgr91XcHOCsdbhg61kVi?= =?utf-8?q?c4zhpjEIGjtAvhSe918YZ+8ielRRh2Zv7BCMH6aT7OWqlylSPneKuDpsMT0nRKA4D?= =?utf-8?q?kzRDDn4/kW/qavQ6CA1e46mKUE5/rv9kkFsxHoAzMezWX2TZOspw2amCpcZMTVMod?= =?utf-8?q?Jv43TpRb63D3heZIk5DHiKJiD3jo2PjNj7i+ZbkWhiqy0QJfCK5dJMbChKm7ixOPT?= =?utf-8?q?54++ecomb7fbiwHwKMNFI1qRITWEmxDMEQhCPaW8zQRlCwCSjvsa5+esK9ZD1jMaW?= =?utf-8?q?ANpsYMpOKmxOvb6BnH1suKBDw9C9m+cyjcbfE1bV9thOLQ8v/teSFlj7eq6HjA/G6?= =?utf-8?q?RFNmo9xAHLL?= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:zh-cn;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PUZPR04MB6316.apcprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(38070700018);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?q?EUVbTNHyfQCFdnRvPtEGjDGQ3Ovj?= =?utf-8?q?NJ1BLqtaPVB9DzqxqDmEAnYENrDCR6vWgQ7q6DMr+r4zZCDPNMzzYeY7i/Qpo+QmE?= =?utf-8?q?PIxibLruuuhHnOi3C+NDp/hH57+1uEcVuO+qfHnslD4DPzcMitjBPaIR6EEHcIzyy?= =?utf-8?q?8bb4ulYQ4sXYdw6RK7QU86B7nS45R+T7v8GMBMq+3scY06QdFmGHjNZUp4Ph/Me54?= =?utf-8?q?PfPcGvN1bnjqZ8+m/vG/i+QpVcGgAJqgiJsTuSNbWhGDolgfImBidgPZ2ekJFVxEN?= =?utf-8?q?Aa1cGaT58iIIxYqqfAz9i5AUy591yzvbmFbGq5QlpnV1w3Mxbycj9I8tv/pS+c78y?= =?utf-8?q?WUhtFfvqbiKvAMUmaNJNbnv3DIOTSyVnsxlbSKeYOdf6HITIc4FdJGx8txRMcKC96?= =?utf-8?q?nsVGvNl0VSdxiFBx8t6wTLvMAHyhg52EAEXAk2FFsbhWfbji2WJgp3n9zcODJMQFS?= =?utf-8?q?7/muqlCb8qVDY9XRZUSzpi61xop4YlveaRix+adAQKOdb0qhKFxHSMgyJa5hDy4g+?= =?utf-8?q?FGz6AhcjPs8oHxbOrFGTs1KOen75emC8hax3iUNT/6enHBfs5eVjpe0cYp2vl65sB?= =?utf-8?q?/3EG7fJi6BclbhJseNGYDHZoGBsegpEkUVcE4OIsOe+QO7ORnaqIsO7ZFLrQptH46?= =?utf-8?q?QF5sUB2mdpE32VZZZrAMmRB2dnW53tBJxKj+hGQTLd7Dtt7iLbdtJwjucYwL7F2Cj?= =?utf-8?q?XR7lfKkaQo94lWuNsUyFJeDpDSO2X7ICz484DkzTCFJU+AN6UGVfiprdE+2z9TDr8?= =?utf-8?q?aeJ+v+LSMOlck0eKaDCOoGB+1gNwYSf329vTpY9g5KbPaXB6nrWvkuY0XAEYvJHTY?= =?utf-8?q?7B+4eRTa7DrXB3GCFf1GRNs8ZGA5iKFqYUgfPLBFt+IslwmT0b9FdPXb5pnHdzAgY?= =?utf-8?q?KHDjHl5d84tZpSVLwnzBUyla/07oirVQtDtyW3sJjTDYbaZJf4jQhLCf5HuQTNGX6?= =?utf-8?q?ubmkS5XBLpTNDAu8d0PahKZW5AGgLFSm3neg4iHYU9dxJPe0L4OIUTSxoXS6GlL+u?= =?utf-8?q?dmCKJntgM/0wp7NeQ+YrP798UKUjKSuvRKGTZCUqI6HtuM4uRPuJQjDSo/plPZ0qZ?= =?utf-8?q?iwD/LxSZzuOhy/b5sqh44Uwqv+bBCGs5c2Dxn6yNMycBYC9HsOMpfckKvMzuWy2LS?= =?utf-8?q?cEsIdoXZyuGxMVlUa0xdxF4bObRHp8ti6ZrBz9O6/zs0yRaIj9KTu6zY2HkqdaUfM?= =?utf-8?q?aRuUpv4dovUbSdbMhlX+mSrZcoed41FBqr+Ry8C//x5/pw5i2jMgZthwTZgKBMfIh?= =?utf-8?q?+ek7X5+7C4lks4U1lgT6pdnY7Zo4hODhRYbDXoyvpV0C10I08MBgE2/7zmZgNwO64?= =?utf-8?q?ZKlXUriGxur6cwA1WAckRr0bRMi3vQd4J02OpkTpT09nOZKxyQO12XetWqwBGqOrT?= =?utf-8?q?VkBjBDOhidhM8PERS0Xph5Pz+mKF+HgcJv4r+Tq1ePZXlswX8ZGXWpOxzsy1JTpuS?= =?utf-8?q?sopDfgI11oFtI8m6zdVGk4VteAY9X1UJ6sCdtE7XtmNeplUt2Fy+YA1IM9e0KzHEq?= =?utf-8?q?p/n6FrA2dd5g?= Precedence: bulk X-Mailing-List: linux-fsdevel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: dDvU2XPZmqCjX4Toxb541rK3XXxzbc5UdBr7cKQSBMU4NcLi7FCbmY65UygzRCFcwXbiF4wQMkI5Qtl4JVK0VA/9KmNGjv2wYwl2PDudqJ19ShvKe9j1hIadoXRynxFz+YPJu/pzFY89fq7aEoKcxSfpeunD/kkiJVm4x0iqeCGUm575updaHBAw8FfWctQfcr2F1DzOa0akwmMpHvvE/eayh9yZ85fhMFZV+BNf8UkaXMV1a4UUGnp/4vBFFWuqsu2GKz3bknXSb9Zv6tzVBkr8OIZoyUpbDX3yIVIQiWaKZaQlWctmvM08Ch4xKLyZh4xPWkD93Pe3qAioffWTQ39xHEEK76tDRikhy4D63aCeiCb8lqubZIDKRHfPuQK6z1lHGgTK5A3QBdGd8P2PRRAYR4GxRKO0kiVQqvdSA77s2wDqaejUKlvE4wmQaEyKDUUadIKjuBNLX8SuUf7xGxkSABdMQiy6+jPhkgFQsXD/obT11+QBm/Bq2J3c3obDtWDpFuh31VjHVAPIvBnE1ltGPNTP6TzHwu3o15Izim4/LpdOb4t1OPXH+zevLlEbXag6T+7MKxD/J/7G4NXs8XsHsKBXPRYumstPTpIeY6kvorti3d6JKI5vgm1hFxm/ X-OriginatorOrg: sony.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PUZPR04MB6316.apcprd04.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4e7784f3-2b40-4ea2-1a0d-08dd5176cddc X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Feb 2025 06:21:25.7201 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 66c65d8a-9158-4521-a2d8-664963db48e4 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 1njOKbHY1WlpMJWiKq6tayMFhn0AcB7kANMZs+TkAYStJB4MfWCwlcwY7P5f8no8yud1ErP/8xvLje0AgnAw4Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: KL1PR04MB6782 X-Proofpoint-ORIG-GUID: qrxfDxCtevjsnY3rVCVOrIXv21fJVzaV X-Proofpoint-GUID: qrxfDxCtevjsnY3rVCVOrIXv21fJVzaV X-Sony-Outbound-GUID: qrxfDxCtevjsnY3rVCVOrIXv21fJVzaV X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1057,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-02-20_02,2025-02-20_02,2024-11-22_01 The 'fsparam_flag' type mount options can not unset when remounting. For example, if a user mounts a device with the 'discard' option, the user cannot unset it via remount, but can only unmount the device and then mount it again. This is inconvenient for users. This commit changes the type of the 4 mount options(keep_last_dots, discard, sys_tz and zero_size_dir) to 'fsparam_flag_no', makes them unsetable via negative param when remounting. Signed-off-by: Yuezhang Mo --- fs/exfat/super.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/fs/exfat/super.c b/fs/exfat/super.c index 6a23523b1276..f090f6fd8fe2 100644 --- a/fs/exfat/super.c +++ b/fs/exfat/super.c @@ -263,11 +263,11 @@ static const struct fs_parameter_spec exfat_parameters[] = { fsparam_u32oct("allow_utime", Opt_allow_utime), fsparam_string("iocharset", Opt_charset), fsparam_enum("errors", Opt_errors, exfat_param_enums), - fsparam_flag("discard", Opt_discard), - fsparam_flag("keep_last_dots", Opt_keep_last_dots), - fsparam_flag("sys_tz", Opt_sys_tz), + fsparam_flag_no("discard", Opt_discard), + fsparam_flag_no("keep_last_dots", Opt_keep_last_dots), + fsparam_flag_no("sys_tz", Opt_sys_tz), fsparam_s32("time_offset", Opt_time_offset), - fsparam_flag("zero_size_dir", Opt_zero_size_dir), + fsparam_flag_no("zero_size_dir", Opt_zero_size_dir), __fsparam(NULL, "utf8", Opt_utf8, fs_param_deprecated, NULL), __fsparam(NULL, "debug", Opt_debug, fs_param_deprecated, @@ -319,13 +319,13 @@ static int exfat_parse_param(struct fs_context *fc, struct fs_parameter *param) opts->errors = result.uint_32; break; case Opt_discard: - opts->discard = 1; + opts->discard = !result.negated; break; case Opt_keep_last_dots: - opts->keep_last_dots = 1; + opts->keep_last_dots = !result.negated; break; case Opt_sys_tz: - opts->sys_tz = 1; + opts->sys_tz = !result.negated; break; case Opt_time_offset: /* @@ -337,7 +337,7 @@ static int exfat_parse_param(struct fs_context *fc, struct fs_parameter *param) opts->time_offset = result.int_32; break; case Opt_zero_size_dir: - opts->zero_size_dir = true; + opts->zero_size_dir = !result.negated; break; case Opt_utf8: case Opt_debug: