RE: [PATCH 2/7] mm: remove the swap_readpage return value

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

 



Christoph Hellwig wrote:
> swap_readpage always returns 0, and no caller checks the return value.
> 
> Signed-off-by: Christoph Hellwig <hch@xxxxxx>
> ---
>  mm/page_io.c | 16 +++++-----------
>  mm/swap.h    |  7 +++----
>  2 files changed, 8 insertions(+), 15 deletions(-)
> 
> diff --git a/mm/page_io.c b/mm/page_io.c
> index 3a5f921b932e82..6f7166fdc4b2bb 100644
> --- a/mm/page_io.c
> +++ b/mm/page_io.c
> @@ -445,11 +445,9 @@ static void swap_readpage_fs(struct page *page,
>  		*plug = sio;
>  }
>  
> -int swap_readpage(struct page *page, bool synchronous,
> -		  struct swap_iocb **plug)
> +void swap_readpage(struct page *page, bool synchronous, struct swap_iocb **plug)
>  {
>  	struct bio *bio;
> -	int ret = 0;
>  	struct swap_info_struct *sis = page_swap_info(page);
>  	bool workingset = PageWorkingset(page);
>  	unsigned long pflags;
> @@ -481,15 +479,12 @@ int swap_readpage(struct page *page, bool synchronous,
>  		goto out;
>  	}
>  
> -	if (sis->flags & SWP_SYNCHRONOUS_IO) {
> -		ret = bdev_read_page(sis->bdev, swap_page_sector(page), page);
> -		if (!ret) {
> -			count_vm_event(PSWPIN);
> -			goto out;
> -		}
> +	if ((sis->flags & SWP_SYNCHRONOUS_IO) &&
> +	    !bdev_read_page(sis->bdev, swap_page_sector(page), page)) {
> +		count_vm_event(PSWPIN);
> +		goto out;
>  	}
>  
> -	ret = 0;
>  	bio = bio_alloc(sis->bdev, 1, REQ_OP_READ, GFP_KERNEL);
>  	bio->bi_iter.bi_sector = swap_page_sector(page);
>  	bio->bi_end_io = end_swap_bio_read;
> @@ -521,7 +516,6 @@ int swap_readpage(struct page *page, bool synchronous,
>  		psi_memstall_leave(&pflags);
>  	}
>  	delayacct_swapin_end();
> -	return ret;
>  }
>  
>  void __swap_read_unplug(struct swap_iocb *sio)
> diff --git a/mm/swap.h b/mm/swap.h
> index f78065c8ef524b..f5eb5069d28c2e 100644
> --- a/mm/swap.h
> +++ b/mm/swap.h
> @@ -8,8 +8,7 @@
>  /* linux/mm/page_io.c */
>  int sio_pool_init(void);
>  struct swap_iocb;
> -int swap_readpage(struct page *page, bool do_poll,
> -		  struct swap_iocb **plug);
> +void swap_readpage(struct page *page, bool do_poll, struct swap_iocb **plug);
>  void __swap_read_unplug(struct swap_iocb *plug);
>  static inline void swap_read_unplug(struct swap_iocb *plug)
>  {
> @@ -64,8 +63,8 @@ static inline unsigned int folio_swap_flags(struct folio *folio)
>  }
>  #else /* CONFIG_SWAP */
>  struct swap_iocb;
> -static inline int swap_readpage(struct page *page, bool do_poll,
> -				struct swap_iocb **plug)
> +static inline void swap_readpage(struct page *page, bool do_poll,
> +		struct swap_iocb **plug)
>  {
>  	return 0;
>  }
> -- 
> 2.39.0
> 

Looks correct,

Reviewed-by: Dan Williams <dan.j.williams@xxxxxxxxx>



[Index of Archives]     [Linux RAID]     [Linux SCSI]     [Linux ATA RAID]     [IDE]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Device Mapper]

  Powered by Linux