On Sat, Aug 20, 2011 at 07:29:42PM -0700, Allison Henderson wrote:
+ /* If the range is block aligned, unmap */
+ if (range_to_discard == blocksize) {
+ clear_buffer_dirty(bh);
+ bh->b_bdev = NULL;
+ clear_buffer_mapped(bh);
+ clear_buffer_req(bh);
+ clear_buffer_new(bh);
+ clear_buffer_delay(bh);
+ clear_buffer_unwritten(bh);
+ clear_buffer_uptodate(bh);
+ ClearPageUptodate(page);
Is this ClearPageUptodate() necessary? If the page is uptodate, and
we've zero'ed out the relevant space, why do we need to force the page
to read in from disk again? (In fact, if we want to avoid forcing the
whole punched region to be written to disk, we'll need to get rid of
the ClearPageUptodate() sooner or later --- and I'm not sure I see why
it's needed now. Am I missing something?)
- Ted