diff mbox series

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

Message ID 20230125133436.447864-3-hch@lst.de (mailing list archive)
State New
Headers show
Series [1/7] mpage: stop using bdev_{read,write}_page | expand

Commit Message

Christoph Hellwig Jan. 25, 2023, 1:34 p.m. UTC
swap_readpage always returns 0, and no caller checks the return value.

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 mm/page_io.c | 16 +++++-----------
 mm/swap.h    |  7 +++----
 2 files changed, 8 insertions(+), 15 deletions(-)

Comments

Keith Busch Jan. 25, 2023, 3:58 p.m. UTC | #1
On Wed, Jan 25, 2023 at 02:34:31PM +0100, Christoph Hellwig wrote:
> -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;
>  }

Need to remove the 'return 0'.
Dan Williams Jan. 25, 2023, 6 p.m. UTC | #2
Christoph Hellwig wrote:
> swap_readpage always returns 0, and no caller checks the return value.
> 
> Signed-off-by: Christoph Hellwig <hch@lst.de>
> ---
>  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@intel.com>
Christoph Hellwig Jan. 26, 2023, 5:30 a.m. UTC | #3
On Wed, Jan 25, 2023 at 08:58:31AM -0700, Keith Busch wrote:
> On Wed, Jan 25, 2023 at 02:34:31PM +0100, Christoph Hellwig wrote:
> > -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;
> >  }
> 
> Need to remove the 'return 0'.

Yes.
diff mbox series

Patch

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;
 }