[lkml]   [2010]   [Jan]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: [PATCH] vfs: Fix vmtruncate() regression
    Nick Piggin <> writes:

    >> If __block_prepare_write() was failed in block_write_begin(), the
    >> allocated blocks can be outside of ->i_size.
    >> But new truncate_pagecache() in vmtuncate() does nothing if new < old.
    >> It means the above usage is not working anymore.
    >> So, this patch fixes it by removing "new < old" check. It would need
    >> more cleanup/change. But, now -rc and truncate working is in progress,
    >> so, this tried to fix it minimum change.
    >> Cc:
    >> Signed-off-by: OGAWA Hirofumi <>
    > Hmm, truncate_pagecache() is for truncating the mm/vm part of the
    > pagecache. vmtruncate should still call inode->i_op->truncate() to
    > trim blocks if required.
    > However I'd say we do still need to ensure do_invalidatepage is
    > called for the page, for private metadata. So yes I think your patch
    > looks good.

    Thanks for reviewing. Yes, and it also needs to be called to ensure that
    have the same state on-disk and page/bh state. [BTW, this became the
    cause of fatfs corruption.]

    OGAWA Hirofumi <>

     \ /
      Last update: 2010-01-13 13:11    [W:0.020 / U:41.304 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site