summaryrefslogtreecommitdiffstats
path: root/drivers/md/raid1.c
diff options
context:
space:
mode:
authorSong Liu <songliubraving@fb.com>2017-05-11 17:03:44 -0700
committerShaohua Li <shli@fb.com>2017-05-11 22:14:40 -0700
commit5ddf0440a1a28f00f69ed2e093476bab3b60c2c3 (patch)
tree33a11155215f93288b40d300839a58f3c13b7f8c /drivers/md/raid1.c
parent70d466f760b351fe30b5f8c956354ddf29aa676b (diff)
downloadop-kernel-dev-5ddf0440a1a28f00f69ed2e093476bab3b60c2c3.zip
op-kernel-dev-5ddf0440a1a28f00f69ed2e093476bab3b60c2c3.tar.gz
md/r5cache: handle sync with data in write back cache
Currently, sync of raid456 array cannot make progress when hitting data in writeback r5cache. This patch fixes this issue by flushing cached data of the stripe before processing the sync request. This is achived by: 1. In handle_stripe(), do not set STRIPE_SYNCING if the stripe is in write back cache; 2. In r5c_try_caching_write(), handle the stripe in sync with write through; 3. In do_release_stripe(), make stripe in sync write out and send it to the state machine. Shaohua: explictly set STRIPE_HANDLE after write out completed Signed-off-by: Song Liu <songliubraving@fb.com> Signed-off-by: Shaohua Li <shli@fb.com>
Diffstat (limited to 'drivers/md/raid1.c')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud