Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 375655
b: refs/heads/master
c: 52c0742
h: refs/heads/master
i:
  375653: 7f4d357
  375651: 5c5e9bf
  375647: 61a384e
v: v3
  • Loading branch information
Nicholas Bellinger committed May 11, 2013
1 parent 3e73807 commit a32a0e5
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 4 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 3eccfdb01da58fbd0f789ae6ca61cee3769e26de
refs/heads/master: 52c07423a819091b0fe9abbf26977098b996f85b
21 changes: 18 additions & 3 deletions trunk/drivers/target/target_core_rd.c
Original file line number Diff line number Diff line change
Expand Up @@ -291,6 +291,11 @@ rd_execute_rw(struct se_cmd *cmd)
u32 src_len;
u64 tmp;

if (dev->rd_flags & RDF_NULLIO) {
target_complete_cmd(cmd, SAM_STAT_GOOD);
return 0;
}

tmp = cmd->t_task_lba * se_dev->dev_attrib.block_size;
rd_offset = do_div(tmp, PAGE_SIZE);
rd_page = tmp;
Expand Down Expand Up @@ -373,11 +378,12 @@ rd_execute_rw(struct se_cmd *cmd)
}

enum {
Opt_rd_pages, Opt_err
Opt_rd_pages, Opt_rd_nullio, Opt_err
};

static match_table_t tokens = {
{Opt_rd_pages, "rd_pages=%d"},
{Opt_rd_nullio, "rd_nullio=%d"},
{Opt_err, NULL}
};

Expand Down Expand Up @@ -408,6 +414,14 @@ static ssize_t rd_set_configfs_dev_params(struct se_device *dev,
" Count: %u\n", rd_dev->rd_page_count);
rd_dev->rd_flags |= RDF_HAS_PAGE_COUNT;
break;
case Opt_rd_nullio:
match_int(args, &arg);
if (arg != 1)
break;

pr_debug("RAMDISK: Setting NULLIO flag: %d\n", arg);
rd_dev->rd_flags |= RDF_NULLIO;
break;
default:
break;
}
Expand All @@ -424,8 +438,9 @@ static ssize_t rd_show_configfs_dev_params(struct se_device *dev, char *b)
ssize_t bl = sprintf(b, "TCM RamDisk ID: %u RamDisk Makeup: rd_mcp\n",
rd_dev->rd_dev_id);
bl += sprintf(b + bl, " PAGES/PAGE_SIZE: %u*%lu"
" SG_table_count: %u\n", rd_dev->rd_page_count,
PAGE_SIZE, rd_dev->sg_table_count);
" SG_table_count: %u nullio: %d\n", rd_dev->rd_page_count,
PAGE_SIZE, rd_dev->sg_table_count,
!!(rd_dev->rd_flags & RDF_NULLIO));
return bl;
}

Expand Down
1 change: 1 addition & 0 deletions trunk/drivers/target/target_core_rd.h
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ struct rd_dev_sg_table {
} ____cacheline_aligned;

#define RDF_HAS_PAGE_COUNT 0x01
#define RDF_NULLIO 0x02

struct rd_dev {
struct se_device dev;
Expand Down

0 comments on commit a32a0e5

Please sign in to comment.