summaryrefslogtreecommitdiffstats
path: root/drivers/md/raid5.h
diff options
context:
space:
mode:
authorSong Liu <songliubraving@fb.com>2016-11-19 01:46:50 +0100
committerShaohua Li <shli@fb.com>2016-11-19 02:13:49 +0100
commit3bddb7f8f264ec58dc86e11ca97341c24f9d38f6 (patch)
tree350e69ab8b594d2ce9eaa833e04294a939b8c044 /drivers/md/raid5.h
parentmd/r5cache: r5cache recovery: part 2 (diff)
downloadlinux-3bddb7f8f264ec58dc86e11ca97341c24f9d38f6.tar.xz
linux-3bddb7f8f264ec58dc86e11ca97341c24f9d38f6.zip
md/r5cache: handle FLUSH and FUA
With raid5 cache, we committing data from journal device. When there is flush request, we need to flush journal device's cache. This was not needed in raid5 journal, because we will flush the journal before committing data to raid disks. This is similar to FUA, except that we also need flush journal for FUA. Otherwise, corruptions in earlier meta data will stop recovery from reaching FUA data. slightly changed the code by Shaohua Signed-off-by: Song Liu <songliubraving@fb.com> Signed-off-by: Shaohua Li <shli@fb.com>
Diffstat (limited to 'drivers/md/raid5.h')
-rw-r--r--drivers/md/raid5.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/md/raid5.h b/drivers/md/raid5.h
index a698113c6188..d13fe45d6960 100644
--- a/drivers/md/raid5.h
+++ b/drivers/md/raid5.h
@@ -376,6 +376,7 @@ enum {
STRIPE_R5C_FULL_STRIPE, /* in r5c cache (to-be/being handled or
* in conf->r5c_full_stripe_list)
*/
+ STRIPE_R5C_PREFLUSH, /* need to flush journal device */
};
#define STRIPE_EXPAND_SYNC_FLAGS \