dm log writes: record metadata flag for better flags record
authorQu Wenruo <wqu@suse.com>
Wed, 28 Feb 2018 07:32:47 +0000 (15:32 +0800)
committerMike Snitzer <snitzer@redhat.com>
Tue, 3 Apr 2018 19:04:17 +0000 (15:04 -0400)
So developer could distinguish data and metadata bios easier.

Signed-off-by: Qu Wenruo <wqu@suse.com>
Reviewed-by: Josef Bacik <jbacik@fb.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
drivers/md/dm-log-writes.c

index e4c015d..fefe671 100644 (file)
  * in fact we want to do the data and the discard in the order that they
  * completed.
  */
-#define LOG_FLUSH_FLAG (1 << 0)
-#define LOG_FUA_FLAG (1 << 1)
-#define LOG_DISCARD_FLAG (1 << 2)
-#define LOG_MARK_FLAG (1 << 3)
+#define LOG_FLUSH_FLAG         (1 << 0)
+#define LOG_FUA_FLAG           (1 << 1)
+#define LOG_DISCARD_FLAG       (1 << 2)
+#define LOG_MARK_FLAG          (1 << 3)
+#define LOG_METADATA_FLAG      (1 << 4)
 
 #define WRITE_LOG_VERSION 1ULL
 #define WRITE_LOG_MAGIC 0x6a736677736872ULL
@@ -699,6 +700,7 @@ static int log_writes_map(struct dm_target *ti, struct bio *bio)
        bool flush_bio = (bio->bi_opf & REQ_PREFLUSH);
        bool fua_bio = (bio->bi_opf & REQ_FUA);
        bool discard_bio = (bio_op(bio) == REQ_OP_DISCARD);
+       bool meta_bio = (bio->bi_opf & REQ_META);
 
        pb->block = NULL;
 
@@ -743,6 +745,8 @@ static int log_writes_map(struct dm_target *ti, struct bio *bio)
                block->flags |= LOG_FUA_FLAG;
        if (discard_bio)
                block->flags |= LOG_DISCARD_FLAG;
+       if (meta_bio)
+               block->flags |= LOG_METADATA_FLAG;
 
        block->sector = bio_to_dev_sectors(lc, bio->bi_iter.bi_sector);
        block->nr_sectors = bio_to_dev_sectors(lc, bio_sectors(bio));