From: Huiwen He <huiwen.he@linux.dev>
To: smfrench@gmail.com, linkinjeon@kernel.org, pc@manguebit.org,
ronniesahlberg@gmail.com, sprasad@microsoft.com, tom@talpey.com,
bharathsm@microsoft.com, senozhatsky@chromium.org,
dhowells@redhat.com, chenxiaosong@kylinos.cn
Cc: linux-cifs@vger.kernel.org, linux-fsdevel@vger.kernel.org
Subject: [PATCH RESEND 2/2] smb/client: remove unused file flags ioctl handlers
Date: Wed, 5 Aug 2026 09:54:47 +0800 [thread overview]
Message-ID: <20260805015447.15488-3-huiwen.he@linux.dev> (raw)
In-Reply-To: <20260805015447.15488-1-huiwen.he@linux.dev>
From: Huiwen He <hehuiwen@kylinos.cn>
FS_IOC_GETFLAGS and FS_IOC_SETFLAGS are now handled by the generic VFS
fileattr path, so their cifs_ioctl() handlers are unreachable. Remove
the handlers and associated state.
Signed-off-by: Huiwen He <hehuiwen@kylinos.cn>
Reviewed-by: ChenXiaoSong <chenxiaosong@kylinos.cn>
---
fs/smb/client/cifsfs.c | 2 +-
fs/smb/client/ioctl.c | 82 ------------------------------------------
2 files changed, 1 insertion(+), 83 deletions(-)
diff --git a/fs/smb/client/cifsfs.c b/fs/smb/client/cifsfs.c
index 0a1135602697..603b177f1b09 100644
--- a/fs/smb/client/cifsfs.c
+++ b/fs/smb/client/cifsfs.c
@@ -1194,7 +1194,7 @@ int cifs_fileattr_get(struct dentry *dentry, struct file_kattr *fa)
struct inode *inode = d_inode(dentry);
u32 attrs;
- /* Preserve FS_COMPR_FL previously reported by cifs_ioctl(). */
+ /* Report the cached SMB compressed attribute as FS_COMPR_FL. */
if (READ_ONCE(CIFS_I(inode)->cifsAttrs) & ATTR_COMPRESSED)
fa->flags |= FS_COMPR_FL;
diff --git a/fs/smb/client/ioctl.c b/fs/smb/client/ioctl.c
index 8b2ca0c7c06c..1279e215ecd2 100644
--- a/fs/smb/client/ioctl.c
+++ b/fs/smb/client/ioctl.c
@@ -528,14 +528,6 @@ long cifs_ioctl(struct file *filep, unsigned int command, unsigned long arg)
struct cifs_tcon *tcon;
struct tcon_link *tlink;
struct cifs_sb_info *cifs_sb;
- __u64 ExtAttrBits = 0;
- bool enable_compression;
- __u16 compression_state;
-#ifdef CONFIG_CIFS_POSIX
-#ifdef CONFIG_CIFS_ALLOW_INSECURE_LEGACY
- __u64 caps;
-#endif /* CONFIG_CIFS_ALLOW_INSECURE_LEGACY */
-#endif /* CONFIG_CIFS_POSIX */
xid = get_xid();
@@ -546,80 +538,6 @@ long cifs_ioctl(struct file *filep, unsigned int command, unsigned long arg)
trace_smb3_ioctl(xid, pSMBFile->fid.persistent_fid, command);
switch (command) {
- case FS_IOC_GETFLAGS:
- if (pSMBFile == NULL)
- break;
- tcon = tlink_tcon(pSMBFile->tlink);
-#ifdef CONFIG_CIFS_POSIX
-#ifdef CONFIG_CIFS_ALLOW_INSECURE_LEGACY
- caps = le64_to_cpu(tcon->fsUnixInfo.Capability);
- if (CIFS_UNIX_EXTATTR_CAP & caps) {
- __u64 ExtAttrMask = 0;
- rc = CIFSGetExtAttr(xid, tcon,
- pSMBFile->fid.netfid,
- &ExtAttrBits, &ExtAttrMask);
- if (rc == 0)
- rc = put_user(ExtAttrBits &
- FS_FL_USER_VISIBLE,
- (int __user *)arg);
- if (rc != -EOPNOTSUPP)
- break;
- }
-#endif /* CONFIG_CIFS_ALLOW_INSECURE_LEGACY */
-#endif /* CONFIG_CIFS_POSIX */
- if (CIFS_I(inode)->cifsAttrs & FILE_ATTRIBUTE_COMPRESSED)
- ExtAttrBits |= FS_COMPR_FL;
-
- rc = put_user(ExtAttrBits & FS_FL_USER_VISIBLE,
- (int __user *)arg);
- break;
- case FS_IOC_SETFLAGS:
- if (pSMBFile == NULL)
- break;
- tcon = tlink_tcon(pSMBFile->tlink);
- /* caps = le64_to_cpu(tcon->fsUnixInfo.Capability); */
-
- if (get_user(ExtAttrBits, (int __user *)arg)) {
- rc = -EFAULT;
- break;
- }
-
- /*
- * if (CIFS_UNIX_EXTATTR_CAP & caps)
- * rc = CIFSSetExtAttr(xid, tcon,
- * pSMBFile->fid.netfid,
- * extAttrBits,
- * &ExtAttrMask);
- * if (rc != -EOPNOTSUPP)
- * break;
- */
-
- /* Currently only flag we can set or clear is compressed. */
- if (ExtAttrBits & ~FS_COMPR_FL) {
- rc = -EOPNOTSUPP;
- break;
- }
-
- enable_compression = ExtAttrBits & FS_COMPR_FL;
- compression_state = enable_compression ?
- COMPRESSION_FORMAT_DEFAULT :
- COMPRESSION_FORMAT_NONE;
-
- rc = cifs_set_compression(xid, filep->f_path.dentry,
- tcon, pSMBFile,
- compression_state);
- if (rc == 0) {
- spin_lock(&inode->i_lock);
- if (enable_compression)
- CIFS_I(inode)->cifsAttrs |=
- FILE_ATTRIBUTE_COMPRESSED;
- else
- CIFS_I(inode)->cifsAttrs &=
- ~FILE_ATTRIBUTE_COMPRESSED;
- spin_unlock(&inode->i_lock);
- }
- cifs_dbg(FYI, "set compress flag rc %d\n", rc);
- break;
case CIFS_IOC_COPYCHUNK_FILE:
rc = cifs_ioctl_copychunk(xid, filep, arg);
break;
--
2.43.0
prev parent reply other threads:[~2026-08-05 1:56 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-05 1:54 [PATCH RESEND 0/2] smb/client: handle compression flags through fileattr Huiwen He
2026-08-05 1:54 ` [PATCH RESEND 1/2] smb/client: implement fileattr_set for compression flags Huiwen He
2026-08-05 1:54 ` Huiwen He [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260805015447.15488-3-huiwen.he@linux.dev \
--to=huiwen.he@linux.dev \
--cc=bharathsm@microsoft.com \
--cc=chenxiaosong@kylinos.cn \
--cc=dhowells@redhat.com \
--cc=linkinjeon@kernel.org \
--cc=linux-cifs@vger.kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=pc@manguebit.org \
--cc=ronniesahlberg@gmail.com \
--cc=senozhatsky@chromium.org \
--cc=smfrench@gmail.com \
--cc=sprasad@microsoft.com \
--cc=tom@talpey.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox