Messages in this thread Patch in this message | | | Date | Tue, 2 Dec 2008 16:47:32 -0800 | From | Andrew Morton <> | Subject | Re: [PATCH 10/9] swapfile: change discard pgoff_t to sector_t |
| |
On Mon, 1 Dec 2008 00:29:41 +0000 (GMT) Hugh Dickins <hugh@veritas.com> wrote:
> 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);
but, but, that didn't change anything? se->nr_pages must be cast to sector_t?
> 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;
| |