Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

f2fs:compress: fix a bug #1

Open
wants to merge 3 commits into
base: g-dev-test
Choose a base branch
from

Commits on May 25, 2020

  1. loop: avoid EAGAIN, if offset or block_size are changed

    Previously, there was a bug where user could see stale buffer cache (e.g, 512B)
    attached in the 4KB-sized pager cache, when the block size was changed from
    512B to 4KB. That was fixed by:
    commit 5db470e ("loop: drop caches if offset or block_size are changed")
    
    But, there were some regression reports saying the fix returns EAGAIN easily.
    So, this patch removes previously added EAGAIN condition, nrpages != 0.
    
    Instead, it changes the flow like this:
    - sync_blockdev()
    - blk_mq_freeze_queue()
     : change the loop configuration
    - blk_mq_unfreeze_queue()
    - sync_blockdev()
    - invalidate_bdev()
    
    After invalidating the buffer cache, we must see the full valid 4KB page.
    
    Additional concern came from Bart in which we can lose some data when
    changing the lo_offset. In that case, this patch adds:
    - sync_blockdev()
    - blk_set_queue_dying
    - blk_mq_freeze_queue()
     : change the loop configuration
    - blk_mq_unfreeze_queue()
    - blk_queue_flag_clear(QUEUE_FLAG_DYING);
    - sync_blockdev()
    - invalidate_bdev()
    
    Report: https://bugs.chromium.org/p/chromium/issues/detail?id=938958#c38
    
    Cc: <stable@vger.kernel.org>
    Cc: Jens Axboe <axboe@kernel.dk>
    Cc: linux-block@vger.kernel.org
    Cc: Bart Van Assche <bvanassche@acm.org>
    Fixes: 5db470e ("loop: drop caches if offset or block_size are changed")
    Reported-by: Gwendal Grignou <gwendal@chromium.org>
    Reported-by: grygorii tertychnyi <gtertych@cisco.com>
    Reviewed-by: Bart Van Assche <bvanassche@acm.org>
    Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
    Jaegeuk Kim committed May 25, 2020
    Configuration menu
    Copy the full SHA
    557da38 View commit details
    Browse the repository at this point in the history
  2. f2fs: stop gc/discard operations in cp_error case

    Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
    Jaegeuk Kim committed May 25, 2020
    Configuration menu
    Copy the full SHA
    ecd9c49 View commit details
    Browse the repository at this point in the history

Commits on May 27, 2020

  1. f2fs:compress: Update isize after compress_write_end, otherwise apend…

    …writing some files would fail when cluster.idx did not add
    Eric.Y committed May 27, 2020
    Configuration menu
    Copy the full SHA
    ed8f3b2 View commit details
    Browse the repository at this point in the history