On Mon, Aug 16, 2010 at 09:21:00PM +0200, Jan Kara wrote: > On Mon 16-08-10 12:13:19, Joel Becker wrote: > > On Mon, Aug 16, 2010 at 09:44:35AM -0500, Eric Sandeen wrote: > > > Joel Becker wrote: > > > > How about: > > > > > > > > u64 last_fs_page = last_fs_block >> (PAGE_CACHE_SHIFT - blocksize_bits); > > > > > > > > ... || > > > > (last_fs_page > (pgoff_t)(~0ULL))) { > > > > > > > > Is that more readable? > > > > > > To me, yes. Maybe do similar for last_fs_sector. > > > > last_fs_sector would be shifting up, which could wrap a really > > large last_fs_blocks. So I'm going to keep the sector_t check as-is. > > How's this: > > > > >From 8de5cb9164cdc179ba84a07b282a895d0eb794b0 Mon Sep 17 00:00:00 2001 > > >From: Joel Becker <joel.becker@xxxxxxxxxx> > > Date: Mon, 16 Aug 2010 12:10:17 -0700 > > Subject: [PATCH] libfs: Fix shift bug in generic_check_addressable() > > > > generic_check_addressable() erroneously shifts pages down by a block > > factor when it should be shifting up. To prevent overflow, we shift > > blocks down to pages. > > > > Signed-off-by: Joel Becker <joel.becker@xxxxxxxxxx> > Looks good. > Reviewed-by: Jan Kara <jack@xxxxxxx> Ok, I'm going to keep this atop my existing branch, and if it all shakes out in linux-next for a few days, send it along. Joel -- "When ideas fail, words come in very handy." - Goethe Joel Becker Consulting Software Developer Oracle E-mail: joel.becker@xxxxxxxxxx Phone: (650) 506-8127 -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html