Re: [PATCH v2 14/14] netfs: Fix DIO write retry for filesystems without a ->prepare_write()

ChenXiaoSong <[email protected]> Wed, 24 Jun 2026 22:21:45 +0800
Newsgroups dev.linux.lists.netfs,org.kernel.vger.ceph-devel,org.kernel.vger.linux-cifs,org.kernel.vger.linux-fsdevel,org.kernel.vger.linux-kernel
Message-ID <[email protected]>
Looks good. Feel free to add:

Reviewed-by: ChenXiaoSong <[email protected]>
Tested-by: ChenXiaoSong <[email protected]>

在 2026/6/24 19:57, David Howells 写道:
> Fix netfs_unbuffered_write() so that it doesn't re-issue a write twice when
> the filesystem doesn't have a ->prepare_write().  The bit of code that does
> the first issue should just be removed as everything it does is done again
> when the loop it's in goes back to the top.
> 
> Reported-by: [email protected]
> Closes: https://syzkaller.appspot.com/bug?extid=3c74b1f0c372e98efc32
> Tested-by: [email protected]
> Signed-off-by: David Howells <[email protected]>
> cc: Paulo Alcantara <[email protected]>
> cc: hongao <[email protected]>
> cc: ChenXiaoSong <[email protected]>
> cc: [email protected]
> cc: [email protected]
> ---
>   fs/netfs/direct_write.c | 6 ------
>   1 file changed, 6 deletions(-)
> 
> diff --git a/fs/netfs/direct_write.c b/fs/netfs/direct_write.c
> index 25f8ceb15fad..1ff1789016b8 100644
> --- a/fs/netfs/direct_write.c
> +++ b/fs/netfs/direct_write.c
> @@ -190,12 +190,6 @@ static int netfs_unbuffered_write(struct netfs_io_request *wreq)
>   			stream->prepare_write(subreq);
>   			__set_bit(NETFS_SREQ_IN_PROGRESS, &subreq->flags);
>   			netfs_stat(&netfs_n_wh_retry_write_subreq);
> -		} else {
> -			struct iov_iter source;
> -
> -			netfs_reset_iter(subreq);
> -			source = subreq->io_iter;
> -			netfs_reissue_write(stream, subreq, &source);
>   		}
>   	}
>   
> 

-- 
ChenXiaoSong <[email protected]>
Chinese Homepage: https://chenxiaosong.com
English Homepage: https://chenxiaosong.com/en