Re: [PATCH v2 1/5] splice: return type ssize_t from all helpers

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun 10-12-23 16:18:57, Amir Goldstein wrote:
> Not sure why some splice helpers return long, maybe historic reasons.
> Change them all to return ssize_t to conform to the splice methods and
> to the rest of the helpers.
> 
> Suggested-by: Christian Brauner <brauner@xxxxxxxxxx>
> Link: https://lore.kernel.org/r/20231208-horchen-helium-d3ec1535ede5@brauner/
> Signed-off-by: Amir Goldstein <amir73il@xxxxxxxxx>

> @@ -955,9 +955,9 @@ static void do_splice_eof(struct splice_desc *sd)
>   * Callers already called rw_verify_area() on the entire range.
>   * No need to call it for sub ranges.
>   */
> -static long do_splice_read(struct file *in, loff_t *ppos,
> -			   struct pipe_inode_info *pipe, size_t len,
> -			   unsigned int flags)
> +static size_t do_splice_read(struct file *in, loff_t *ppos,
          ^^^ ssize_t here?

> +			     struct pipe_inode_info *pipe, size_t len,
> +			     unsigned int flags)
>  {
>  	unsigned int p_space;
>  
> @@ -1030,7 +1030,7 @@ ssize_t splice_direct_to_actor(struct file *in, struct splice_desc *sd,
>  			       splice_direct_actor *actor)
>  {
>  	struct pipe_inode_info *pipe;
> -	long ret, bytes;
> +	size_t ret, bytes;
        ^^^^ ssize_t here?

>  	size_t len;
>  	int i, flags, more;
>  
...
> @@ -1962,7 +1962,7 @@ static int link_pipe(struct pipe_inode_info *ipipe,
>   * The 'flags' used are the SPLICE_F_* variants, currently the only
>   * applicable one is SPLICE_F_NONBLOCK.
>   */

Actually link_pipe() should also return ssize_t instead of int, shouldn't
it?

> -long do_tee(struct file *in, struct file *out, size_t len, unsigned int flags)
> +ssize_t do_tee(struct file *in, struct file *out, size_t len, unsigned int flags)
>  {
>  	struct pipe_inode_info *ipipe = get_pipe_info(in, true);
>  	struct pipe_inode_info *opipe = get_pipe_info(out, true);

								Honza
-- 
Jan Kara <jack@xxxxxxxx>
SUSE Labs, CR




[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [NTFS 3]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [NTFS 3]     [Samba]     [Device Mapper]     [CEPH Development]

  Powered by Linux