Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/1.1/patches/2230438/?format=api
{ "id": 2230438, "url": "http://patchwork.ozlabs.org/api/1.1/patches/2230438/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linux-cifs-client/patch/20260429-case-sensitivity-v12-7-8057123bebe0@oracle.com/", "project": { "id": 12, "url": "http://patchwork.ozlabs.org/api/1.1/projects/12/?format=api", "name": "Linux CIFS Client", "link_name": "linux-cifs-client", "list_id": "linux-cifs.vger.kernel.org", "list_email": "linux-cifs@vger.kernel.org", "web_url": "", "scm_url": "", "webscm_url": "" }, "msgid": "<20260429-case-sensitivity-v12-7-8057123bebe0@oracle.com>", "date": "2026-04-29T18:07:18", "name": "[v12,07/15] hfsplus: Report case sensitivity in fileattr_get", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "b009f3d40d1289dbc8a29659a250a1f4ee4cc91f", "submitter": { "id": 86689, "url": "http://patchwork.ozlabs.org/api/1.1/people/86689/?format=api", "name": "Chuck Lever", "email": "cel@kernel.org" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/linux-cifs-client/patch/20260429-case-sensitivity-v12-7-8057123bebe0@oracle.com/mbox/", "series": [ { "id": 502123, "url": "http://patchwork.ozlabs.org/api/1.1/series/502123/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linux-cifs-client/list/?series=502123", "date": "2026-04-29T18:07:11", "name": "Exposing case folding behavior", "version": 12, "mbox": "http://patchwork.ozlabs.org/series/502123/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/2230438/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2230438/checks/", "tags": {}, "headers": { "Return-Path": "\n <linux-cifs+bounces-11287-incoming=patchwork.ozlabs.org@vger.kernel.org>", "X-Original-To": [ "incoming@patchwork.ozlabs.org", "linux-cifs@vger.kernel.org" ], "Delivered-To": "patchwork-incoming@legolas.ozlabs.org", "Authentication-Results": [ "legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256\n header.s=k20201202 header.b=c2vqU1+D;\n\tdkim-atps=neutral", "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=104.64.211.4; helo=sin.lore.kernel.org;\n envelope-from=linux-cifs+bounces-11287-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)", "smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org\n header.b=\"c2vqU1+D\"", "smtp.subspace.kernel.org;\n arc=none smtp.client-ip=10.30.226.201" ], "Received": [ "from sin.lore.kernel.org (sin.lore.kernel.org [104.64.211.4])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g5QNq6t15z1yHZ\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 30 Apr 2026 04:11:39 +1000 (AEST)", "from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sin.lore.kernel.org (Postfix) with ESMTP id 63F403010219\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 29 Apr 2026 18:08:21 +0000 (UTC)", "from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 24D5E41B373;\n\tWed, 29 Apr 2026 18:07:47 +0000 (UTC)", "from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org\n [10.30.226.201])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id 8A2D64218B6;\n\tWed, 29 Apr 2026 18:07:46 +0000 (UTC)", "by smtp.kernel.org (Postfix) with ESMTPSA id 80CF2C2BCF6;\n\tWed, 29 Apr 2026 18:07:43 +0000 (UTC)" ], "ARC-Seal": "i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1777486066; cv=none;\n b=fowhkK3QN9jo7+ERYsgH9ChS3vXMnb5EhPjSXo0qMtSCMnfmF6R8CwvY7PkFGIvq0l2yNSNppGY8/Q/yDrdP+YmeV9lb3AnPMYRkrVf5GBS0Xc2TfqZVxIXiGNmBz4uchvXufoNE0RLdw846PPchl8Taq8JBEoz7VBpWKD/JDog=", "ARC-Message-Signature": "i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1777486066; c=relaxed/simple;\n\tbh=MCKLEZC7Qx1FnQ0cZy8w8gaJqor/Oy2yvhPP57H1cWo=;\n\th=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References:\n\t In-Reply-To:To:Cc;\n b=rUbhS2np6zHBhcg6XzKcKr15eV0JqYOSjUtseNEjDMHPTIiD7WAViz8pJfVd7AREf1G/mgMbvkcfsm7Ho3qjQgztSQCYM0K04RUflAnoE9FmG05Ky9TTxPUdB5OhmWC9gFHlEOxwzMPHk00sNhsftirhjGzoOI3cKKOF2/XUOow=", "ARC-Authentication-Results": "i=1; smtp.subspace.kernel.org;\n dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org\n header.b=c2vqU1+D; arc=none smtp.client-ip=10.30.226.201", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;\n\ts=k20201202; t=1777486065;\n\tbh=MCKLEZC7Qx1FnQ0cZy8w8gaJqor/Oy2yvhPP57H1cWo=;\n\th=From:Date:Subject:References:In-Reply-To:To:Cc:From;\n\tb=c2vqU1+DIgO1ouuDvKAm9SaitSoOX/+UnmaoqiRd2TpFdxO43KFDX+GyhO0QQB+p9\n\t I1DO7IuT5fkPmJRz0mqf/qAX0FXwEFkYFPlpGQzvZICgK/9lp0JirZYrKzXi65qzU+\n\t tJXK5qmPsBqJyvoI95WxV2PWF1AGmOqdsyhU90sh2zsOQ6SUuiAOsbRmYTz7aEKURg\n\t 9pYuFXOJle8/Ln8V+hJKEpnIe5PBhKdQYfKo5jAYPfv/qsPd0TBns7AQyouVSycHMu\n\t 2Mvj+mK0HAGWGYd+4iRmb1EimiKagrBVCZJiXz43qFu7w8M8H7uIkKcIuW68etct2t\n\t f7NHQ9ynk1vfQ==", "From": "Chuck Lever <cel@kernel.org>", "Date": "Wed, 29 Apr 2026 14:07:18 -0400", "Subject": "[PATCH v12 07/15] hfsplus: Report case sensitivity in fileattr_get", "Precedence": "bulk", "X-Mailing-List": "linux-cifs@vger.kernel.org", "List-Id": "<linux-cifs.vger.kernel.org>", "List-Subscribe": "<mailto:linux-cifs+subscribe@vger.kernel.org>", "List-Unsubscribe": "<mailto:linux-cifs+unsubscribe@vger.kernel.org>", "MIME-Version": "1.0", "Content-Type": "text/plain; charset=\"utf-8\"", "Content-Transfer-Encoding": "7bit", "Message-Id": "<20260429-case-sensitivity-v12-7-8057123bebe0@oracle.com>", "References": "<20260429-case-sensitivity-v12-0-8057123bebe0@oracle.com>", "In-Reply-To": "<20260429-case-sensitivity-v12-0-8057123bebe0@oracle.com>", "To": "Al Viro <viro@zeniv.linux.org.uk>,\n Christian Brauner <brauner@kernel.org>, Jan Kara <jack@suse.cz>", "Cc": "linux-fsdevel@vger.kernel.org, linux-ext4@vger.kernel.org,\n linux-xfs@vger.kernel.org, linux-cifs@vger.kernel.org,\n linux-nfs@vger.kernel.org, linux-api@vger.kernel.org,\n linux-f2fs-devel@lists.sourceforge.net, hirofumi@mail.parknet.co.jp,\n linkinjeon@kernel.org, sj1557.seo@samsung.com, yuezhang.mo@sony.com,\n almaz.alexandrovich@paragon-software.com, slava@dubeyko.com,\n glaubitz@physik.fu-berlin.de, frank.li@vivo.com, tytso@mit.edu,\n adilger.kernel@dilger.ca, cem@kernel.org, sfrench@samba.org,\n pc@manguebit.org, ronniesahlberg@gmail.com, sprasad@microsoft.com,\n trondmy@kernel.org, anna@kernel.org, jaegeuk@kernel.org, chao@kernel.org,\n hansg@kernel.org, senozhatsky@chromium.org,\n Chuck Lever <chuck.lever@oracle.com>,\n Roland Mainz <roland.mainz@nrubsig.org>", "X-Mailer": "b4 0.16-dev", "X-Developer-Signature": "v=1; a=openpgp-sha256; l=2621;\n i=chuck.lever@oracle.com; h=from:subject:message-id;\n bh=yr1QdNRA2c3h2NX2KtSKVIgsso0huI4pF/+aMWQ1VYs=;\n b=owEBbQKS/ZANAwAKATNqszNvZn+XAcsmYgBp8kjd//ugpCe7RL1EFdZg6sAR5attDISWJ2/Tn\n /1es/HNDSKJAjMEAAEKAB0WIQQosuWwEobfJDzyPv4zarMzb2Z/lwUCafJI3QAKCRAzarMzb2Z/\n l154D/9sRJhZpYvAf/Om/gyeeuNnLwAQO4y4xNSbS+uEm4PDRZFhge2kGJ+SMta5gU0M03jOjnO\n 3ZcxFkqNMtVwAy/r53i4MW8p2Onx16VAHPmElEk1k/g9nlfux7Yl6rWG1kPGaDIx0aBlqxnFQs2\n cvYj9veBZOCDu0wsRSNg8WddAJyvQqj/ZJE+eh1/k/b7kbrURHTRHN6PzuYAmZmExXiMQWdlIXe\n NKBwHjr+hLLT/1UBwzh858oV4uFb6+Qk4Fb1xTNKJG2LDc4bi7R6Z5P2VBoOnbj6wuSWZ2cjgnF\n H/TJOgzycFT4QJ9in+k2NxRdcSMJmNljc/Ut+JL25EFKxMSxOEOvvFsiBtAilV5EfJZTyA0EL0/\n 9SvMmy9vQ/I69CPIjf3HmoDgB3kvq/L68iMy4iSDqxFgedBXmo4dtAPEBzTI2SbVDeDuWcqkdnE\n BYRE3z4ZzO6sBozJX2bTBM9rmpzZcpR0Hbw33t4cPGwxOL7WFogGOGHjSYR949N1SGi/TcBz6hv\n Nm9f9fngHfqrBgyoTp6O9qSlWM7boe7iTy13sBBMxhZ6RJ6l21/Mv6a5PmOuOP7sHg/pbBhfbb0\n BwAbhYVp4MgRdNYar+AUg7hDroNpOGETgdAYbXqHhAN2YuoX2DZl+XxTHlVOqTXfUb3y2rf399N\n ZU8mxwunytdSlnQ==", "X-Developer-Key": "i=chuck.lever@oracle.com; a=openpgp;\n fpr=28B2E5B01286DF243CF23EFE336AB3336F667F97" }, "content": "From: Chuck Lever <chuck.lever@oracle.com>\n\nAdd case sensitivity reporting to the existing hfsplus_fileattr_get()\nfunction via the FS_XFLAG_CASEFOLD flag. HFS+ always preserves case\nat rest.\n\nCase sensitivity depends on how the volume was formatted: HFSX\nvolumes may be either case-sensitive or case-insensitive, indicated\nby the HFSPLUS_SB_CASEFOLD superblock flag.\n\nFS_XFLAG_CASEFOLD is read-only: FS_XFLAG_RDONLY_MASK ensures\nFS_IOC_FSSETXATTR strips it. The legacy FS_IOC_SETFLAGS path in\nhfsplus_fileattr_set() also allows FS_CASEFOLD_FL through its\nallowlist on case-insensitive volumes so that a chattr\nread-modify-write cycle does not fail with EOPNOTSUPP.\n\nReviewed-by: Viacheslav Dubeyko <slava@dubeyko.com>\nReviewed-by: Roland Mainz <roland.mainz@nrubsig.org>\nSigned-off-by: Chuck Lever <chuck.lever@oracle.com>\n---\n fs/hfsplus/inode.c | 16 +++++++++++++++-\n 1 file changed, 15 insertions(+), 1 deletion(-)", "diff": "diff --git a/fs/hfsplus/inode.c b/fs/hfsplus/inode.c\nindex d05891ec492e..5565c14b4bf6 100644\n--- a/fs/hfsplus/inode.c\n+++ b/fs/hfsplus/inode.c\n@@ -740,6 +740,7 @@ int hfsplus_fileattr_get(struct dentry *dentry, struct file_kattr *fa)\n {\n \tstruct inode *inode = d_inode(dentry);\n \tstruct hfsplus_inode_info *hip = HFSPLUS_I(inode);\n+\tstruct hfsplus_sb_info *sbi = HFSPLUS_SB(inode->i_sb);\n \tunsigned int flags = 0;\n \n \tif (inode->i_flags & S_IMMUTABLE)\n@@ -748,6 +749,8 @@ int hfsplus_fileattr_get(struct dentry *dentry, struct file_kattr *fa)\n \t\tflags |= FS_APPEND_FL;\n \tif (hip->userflags & HFSPLUS_FLG_NODUMP)\n \t\tflags |= FS_NODUMP_FL;\n+\tif (test_bit(HFSPLUS_SB_CASEFOLD, &sbi->flags))\n+\t\tflags |= FS_CASEFOLD_FL;\n \n \tfileattr_fill_flags(fa, flags);\n \n@@ -759,13 +762,24 @@ int hfsplus_fileattr_set(struct mnt_idmap *idmap,\n {\n \tstruct inode *inode = d_inode(dentry);\n \tstruct hfsplus_inode_info *hip = HFSPLUS_I(inode);\n+\tstruct hfsplus_sb_info *sbi = HFSPLUS_SB(inode->i_sb);\n+\tunsigned int allowed = FS_IMMUTABLE_FL | FS_APPEND_FL | FS_NODUMP_FL;\n \tunsigned int new_fl = 0;\n \n \tif (fileattr_has_fsx(fa))\n \t\treturn -EOPNOTSUPP;\n \n+\t/*\n+\t * FS_CASEFOLD_FL reflects HFSPLUS_SB_CASEFOLD, a mount-time\n+\t * property. Accept it as a no-op so chattr's RMW round-trip\n+\t * succeeds; reject any attempt to enable it on a volume that\n+\t * was not formatted case-insensitive.\n+\t */\n+\tif (test_bit(HFSPLUS_SB_CASEFOLD, &sbi->flags))\n+\t\tallowed |= FS_CASEFOLD_FL;\n+\n \t/* don't silently ignore unsupported ext2 flags */\n-\tif (fa->flags & ~(FS_IMMUTABLE_FL|FS_APPEND_FL|FS_NODUMP_FL))\n+\tif (fa->flags & ~allowed)\n \t\treturn -EOPNOTSUPP;\n \n \tif (fa->flags & FS_IMMUTABLE_FL)\n", "prefixes": [ "v12", "07/15" ] }