Commit 8dd5239b authored by Lars Marowsky-Bree's avatar Lars Marowsky-Bree Committed by Linus Torvalds

[PATCH] device-mapper: Store name directly against device

Add a name field to struct dm_dev so we don't have to use format_dev_t()
all over the place for informative error messages.
Signed-Off-By: default avatarAlasdair G Kergon <agk@redhat.com>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent a8caca4d
......@@ -869,7 +869,6 @@ static int crypt_status(struct dm_target *ti, status_type_t type,
char *result, unsigned int maxlen)
{
struct crypt_config *cc = (struct crypt_config *) ti->private;
char buffer[32];
const char *cipher;
const char *chainmode = NULL;
unsigned int sz = 0;
......@@ -910,9 +909,8 @@ static int crypt_status(struct dm_target *ti, status_type_t type,
result[sz++] = '-';
}
format_dev_t(buffer, cc->dev->bdev->bd_dev);
DMEMIT(" " SECTOR_FORMAT " %s " SECTOR_FORMAT,
cc->iv_offset, buffer, cc->start);
cc->iv_offset, cc->dev->name, cc->start);
break;
}
return 0;
......
......@@ -80,7 +80,6 @@ static int linear_status(struct dm_target *ti, status_type_t type,
char *result, unsigned int maxlen)
{
struct linear_c *lc = (struct linear_c *) ti->private;
char buffer[32];
switch (type) {
case STATUSTYPE_INFO:
......@@ -88,8 +87,8 @@ static int linear_status(struct dm_target *ti, status_type_t type,
break;
case STATUSTYPE_TABLE:
format_dev_t(buffer, lc->dev->bdev->bd_dev);
snprintf(result, maxlen, "%s " SECTOR_FORMAT, buffer, lc->start);
snprintf(result, maxlen, "%s " SECTOR_FORMAT, lc->dev->name,
lc->start);
break;
}
return 0;
......
......@@ -1182,7 +1182,6 @@ static void mirror_resume(struct dm_target *ti)
static int mirror_status(struct dm_target *ti, status_type_t type,
char *result, unsigned int maxlen)
{
char buffer[32];
unsigned int m, sz;
struct mirror_set *ms = (struct mirror_set *) ti->private;
......@@ -1191,10 +1190,8 @@ static int mirror_status(struct dm_target *ti, status_type_t type,
switch (type) {
case STATUSTYPE_INFO:
DMEMIT("%d ", ms->nr_mirrors);
for (m = 0; m < ms->nr_mirrors; m++) {
format_dev_t(buffer, ms->mirror[m].dev->bdev->bd_dev);
DMEMIT("%s ", buffer);
}
for (m = 0; m < ms->nr_mirrors; m++)
DMEMIT("%s ", ms->mirror[m].dev->name);
DMEMIT(SECTOR_FORMAT "/" SECTOR_FORMAT,
ms->rh.log->type->get_sync_count(ms->rh.log),
......@@ -1203,11 +1200,9 @@ static int mirror_status(struct dm_target *ti, status_type_t type,
case STATUSTYPE_TABLE:
DMEMIT("%d ", ms->nr_mirrors);
for (m = 0; m < ms->nr_mirrors; m++) {
format_dev_t(buffer, ms->mirror[m].dev->bdev->bd_dev);
for (m = 0; m < ms->nr_mirrors; m++)
DMEMIT("%s " SECTOR_FORMAT " ",
buffer, ms->mirror[m].offset);
}
ms->mirror[m].dev->name, ms->mirror[m].offset);
}
return 0;
......
......@@ -864,8 +864,6 @@ static int snapshot_status(struct dm_target *ti, status_type_t type,
char *result, unsigned int maxlen)
{
struct dm_snapshot *snap = (struct dm_snapshot *) ti->private;
char cow[32];
char org[32];
switch (type) {
case STATUSTYPE_INFO:
......@@ -892,9 +890,8 @@ static int snapshot_status(struct dm_target *ti, status_type_t type,
* to make private copies if the output is to
* make sense.
*/
format_dev_t(cow, snap->cow->bdev->bd_dev);
format_dev_t(org, snap->origin->bdev->bd_dev);
snprintf(result, maxlen, "%s %s %c " SECTOR_FORMAT, org, cow,
snprintf(result, maxlen, "%s %s %c " SECTOR_FORMAT,
snap->origin->name, snap->cow->name,
snap->type, snap->chunk_size);
break;
}
......@@ -1082,7 +1079,6 @@ static int origin_status(struct dm_target *ti, status_type_t type, char *result,
unsigned int maxlen)
{
struct dm_dev *dev = (struct dm_dev *) ti->private;
char buffer[32];
switch (type) {
case STATUSTYPE_INFO:
......@@ -1090,8 +1086,7 @@ static int origin_status(struct dm_target *ti, status_type_t type, char *result,
break;
case STATUSTYPE_TABLE:
format_dev_t(buffer, dev->bdev->bd_dev);
snprintf(result, maxlen, "%s", buffer);
snprintf(result, maxlen, "%s", dev->name);
break;
}
......
......@@ -188,7 +188,6 @@ static int stripe_status(struct dm_target *ti,
struct stripe_c *sc = (struct stripe_c *) ti->private;
unsigned int sz = 0;
unsigned int i;
char buffer[32];
switch (type) {
case STATUSTYPE_INFO:
......@@ -197,11 +196,9 @@ static int stripe_status(struct dm_target *ti,
case STATUSTYPE_TABLE:
DMEMIT("%d " SECTOR_FORMAT, sc->stripes, sc->chunk_mask + 1);
for (i = 0; i < sc->stripes; i++) {
format_dev_t(buffer, sc->stripe[i].dev->bdev->bd_dev);
DMEMIT(" %s " SECTOR_FORMAT, buffer,
for (i = 0; i < sc->stripes; i++)
DMEMIT(" %s " SECTOR_FORMAT, sc->stripe[i].dev->name,
sc->stripe[i].physical_start);
}
break;
}
return 0;
......
......@@ -455,6 +455,8 @@ static int __table_get_device(struct dm_table *t, struct dm_target *ti,
return r;
}
format_dev_t(dd->name, dev);
atomic_set(&dd->count, 0);
list_add(&dd->list, &t->devices);
......
......@@ -44,6 +44,7 @@ struct dm_dev {
atomic_t count;
int mode;
struct block_device *bdev;
char name[16];
};
struct dm_table;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment