[PATCH 10/9] swapfile: change discard pgoff_t to sector_t

Hugh Dickins
2008-12-01T00:29:41Z

Change pgoff_t nr_blocks in discard_swap() and discard_swap_cluster() to
sector_t: given the constraints on swap offsets (in particular, the 5 bits
of swap type accommodated in the same unsigned long), pgoff_t was actually
safe as is, but it certainly looked worrying when shifted left.

Signed-off-by: Hugh Dickins <hugh@veritas.com>
---
To follow 9/9 swapfile-swap-allocation-cycle-if-nonrot.patch

mm/swapfile.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

--- swapfile9/mm/swapfile.c 2008-11-26 12:19:00.000000000 +0000
+++ swapfile10/mm/swapfile.c 2008-11-28 20:36:44.000000000 +0000
@@ -96,7 +96,7 @@ static int discard_swap(struct swap_info

list_for_each_entry(se, &si->extent_list, list) {
sector_t start_block = se->start_block << (PAGE_SHIFT - 9);
- pgoff_t nr_blocks = se->nr_pages << (PAGE_SHIFT - 9);
+ sector_t nr_blocks = se->nr_pages << (PAGE_SHIFT - 9);

if (se->start_page == 0) {
/* Do not discard the swap header page! */
@@ -133,7 +133,7 @@ static void discard_swap_cluster(struct
start_page < se->start_page + se->nr_pages) {
pgoff_t offset = start_page - se->start_page;
sector_t start_block = se->start_block + offset;
- pgoff_t nr_blocks = se->nr_pages - offset;
+ sector_t nr_blocks = se->nr_pages - offset;

if (nr_blocks > nr_pages)
nr_blocks = nr_pages;