On 3/26/25 15:57, Sidong Yang wrote:
Currently, the io-uring fixed buffer cmd flag is silently dismissed, even though it does not work. This patch returns an error when the flag is set, making it clear that operation is not supported.
IIRC, the feature where you use the flag hasn't been merged yet and is targeting 6.16. In this case you need to send this patch for 6.15, and once merged stable will try to pick it up from there.
Fixes: 34310c442e17 ("btrfs: add io_uring command for encoded reads (ENCODED_READ ioctl)") Cc: stable@vger.kernel.org Signed-off-by: Sidong Yang sidong.yang@furiosa.ai
fs/btrfs/ioctl.c | 11 +++++++++++ 1 file changed, 11 insertions(+)
diff --git a/fs/btrfs/ioctl.c b/fs/btrfs/ioctl.c index 6c18bad53cd3..62bb9e11e8d6 100644 --- a/fs/btrfs/ioctl.c +++ b/fs/btrfs/ioctl.c @@ -4823,6 +4823,12 @@ static int btrfs_uring_encoded_read(struct io_uring_cmd *cmd, unsigned int issue ret = -EPERM; goto out_acct; }
- if (cmd->flags & IORING_URING_CMD_FIXED) {
ret = -EOPNOTSUPP;
goto out_acct;
- }
- file = cmd->file; inode = BTRFS_I(file->f_inode); fs_info = inode->root->fs_info;
@@ -4959,6 +4965,11 @@ static int btrfs_uring_encoded_write(struct io_uring_cmd *cmd, unsigned int issu goto out_acct; }
- if (cmd->flags & IORING_URING_CMD_FIXED) {
ret = -EOPNOTSUPP;
goto out_acct;
- }
- file = cmd->file; sqe_addr = u64_to_user_ptr(READ_ONCE(cmd->sqe->addr));