Skip to content

Commit

Permalink
block: Add prefix to block integrity profile flags
Browse files Browse the repository at this point in the history
Add a BLK_ prefix to the integrity profile flags. Also rename the flags
to be more consistent with the generate/verify terminology in the rest
of the integrity code.

Signed-off-by: Martin K. Petersen <[email protected]>
Reviewed-by: Christoph Hellwig <[email protected]>
Reviewed-by: Sagi Grimberg <[email protected]>
Signed-off-by: Jens Axboe <[email protected]>
  • Loading branch information
martinkpetersen authored and axboe committed Sep 27, 2014
1 parent 1859308 commit 8288f49
Show file tree
Hide file tree
Showing 3 changed files with 28 additions and 25 deletions.
4 changes: 2 additions & 2 deletions block/bio-integrity.c
Original file line number Diff line number Diff line change
Expand Up @@ -173,11 +173,11 @@ bool bio_integrity_enabled(struct bio *bio)
return false;

if (bio_data_dir(bio) == READ && bi->verify_fn != NULL &&
(bi->flags & INTEGRITY_FLAG_READ))
(bi->flags & BLK_INTEGRITY_VERIFY))
return true;

if (bio_data_dir(bio) == WRITE && bi->generate_fn != NULL &&
(bi->flags & INTEGRITY_FLAG_WRITE))
(bi->flags & BLK_INTEGRITY_GENERATE))
return true;

return false;
Expand Down
43 changes: 22 additions & 21 deletions block/blk-integrity.c
Original file line number Diff line number Diff line change
Expand Up @@ -269,42 +269,42 @@ static ssize_t integrity_tag_size_show(struct blk_integrity *bi, char *page)
return sprintf(page, "0\n");
}

static ssize_t integrity_read_store(struct blk_integrity *bi,
const char *page, size_t count)
static ssize_t integrity_verify_store(struct blk_integrity *bi,
const char *page, size_t count)
{
char *p = (char *) page;
unsigned long val = simple_strtoul(p, &p, 10);

if (val)
bi->flags |= INTEGRITY_FLAG_READ;
bi->flags |= BLK_INTEGRITY_VERIFY;
else
bi->flags &= ~INTEGRITY_FLAG_READ;
bi->flags &= ~BLK_INTEGRITY_VERIFY;

return count;
}

static ssize_t integrity_read_show(struct blk_integrity *bi, char *page)
static ssize_t integrity_verify_show(struct blk_integrity *bi, char *page)
{
return sprintf(page, "%d\n", (bi->flags & INTEGRITY_FLAG_READ) != 0);
return sprintf(page, "%d\n", (bi->flags & BLK_INTEGRITY_VERIFY) != 0);
}

static ssize_t integrity_write_store(struct blk_integrity *bi,
const char *page, size_t count)
static ssize_t integrity_generate_store(struct blk_integrity *bi,
const char *page, size_t count)
{
char *p = (char *) page;
unsigned long val = simple_strtoul(p, &p, 10);

if (val)
bi->flags |= INTEGRITY_FLAG_WRITE;
bi->flags |= BLK_INTEGRITY_GENERATE;
else
bi->flags &= ~INTEGRITY_FLAG_WRITE;
bi->flags &= ~BLK_INTEGRITY_GENERATE;

return count;
}

static ssize_t integrity_write_show(struct blk_integrity *bi, char *page)
static ssize_t integrity_generate_show(struct blk_integrity *bi, char *page)
{
return sprintf(page, "%d\n", (bi->flags & INTEGRITY_FLAG_WRITE) != 0);
return sprintf(page, "%d\n", (bi->flags & BLK_INTEGRITY_GENERATE) != 0);
}

static struct integrity_sysfs_entry integrity_format_entry = {
Expand All @@ -317,23 +317,23 @@ static struct integrity_sysfs_entry integrity_tag_size_entry = {
.show = integrity_tag_size_show,
};

static struct integrity_sysfs_entry integrity_read_entry = {
static struct integrity_sysfs_entry integrity_verify_entry = {
.attr = { .name = "read_verify", .mode = S_IRUGO | S_IWUSR },
.show = integrity_read_show,
.store = integrity_read_store,
.show = integrity_verify_show,
.store = integrity_verify_store,
};

static struct integrity_sysfs_entry integrity_write_entry = {
static struct integrity_sysfs_entry integrity_generate_entry = {
.attr = { .name = "write_generate", .mode = S_IRUGO | S_IWUSR },
.show = integrity_write_show,
.store = integrity_write_store,
.show = integrity_generate_show,
.store = integrity_generate_store,
};

static struct attribute *integrity_attrs[] = {
&integrity_format_entry.attr,
&integrity_tag_size_entry.attr,
&integrity_read_entry.attr,
&integrity_write_entry.attr,
&integrity_verify_entry.attr,
&integrity_generate_entry.attr,
NULL,
};

Expand Down Expand Up @@ -406,7 +406,7 @@ int blk_integrity_register(struct gendisk *disk, struct blk_integrity *template)

kobject_uevent(&bi->kobj, KOBJ_ADD);

bi->flags |= INTEGRITY_FLAG_READ | INTEGRITY_FLAG_WRITE;
bi->flags |= BLK_INTEGRITY_VERIFY | BLK_INTEGRITY_GENERATE;
bi->interval = queue_logical_block_size(disk->queue);
disk->integrity = bi;
} else
Expand All @@ -419,6 +419,7 @@ int blk_integrity_register(struct gendisk *disk, struct blk_integrity *template)
bi->verify_fn = template->verify_fn;
bi->tuple_size = template->tuple_size;
bi->tag_size = template->tag_size;
bi->flags |= template->flags;
} else
bi->name = bi_unsupported_name;

Expand Down
6 changes: 4 additions & 2 deletions include/linux/blkdev.h
Original file line number Diff line number Diff line change
Expand Up @@ -1458,8 +1458,10 @@ static inline uint64_t rq_io_start_time_ns(struct request *req)

#if defined(CONFIG_BLK_DEV_INTEGRITY)

#define INTEGRITY_FLAG_READ 2 /* verify data integrity on read */
#define INTEGRITY_FLAG_WRITE 4 /* generate data integrity on write */
enum blk_integrity_flags {
BLK_INTEGRITY_VERIFY = 1 << 0,
BLK_INTEGRITY_GENERATE = 1 << 1,
};

struct blk_integrity_iter {
void *prot_buf;
Expand Down

0 comments on commit 8288f49

Please sign in to comment.