lkml.org 
[lkml]   [2010]   [Jan]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    SubjectRe: [PATCH] vfs: Fix vmtruncate() regression
    Date
    Nick Piggin <npiggin@suse.de> 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: stable@kernel.org
    >> Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
    >
    > 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.]

    Thanks.
    --
    OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>


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