[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] blktap2: fix gap in tapdisk2 disk_type numbering
On Fri, 2011-02-25 at 13:41 -0500, Shriram Rajagopalan wrote: > # HG changeset patch > # User Shriram Rajagopalan <rshriram@xxxxxxxxx> > # Date 1298659167 28800 > # Node ID f16d772fdb6c58518299d4c3780b846bcbee6165 > # Parent d9c73cceb29715bfafada4d80e79787cb4666816 > blktap2: fix gap in tapdisk2 disk_type numbering > > Make the DISK_TYPE_* id numbering in tapdisk-disktypes.h contiguous. > Currently, id 8 is unallocated causing a null disk type entry in > tapdisk_disk_drivers array in tapdisk-disktypes.c. This causes the > function tapdisk_disktype_find() to return an error on encountering > disk types >7 (remus:, log:, etc.). > > Signed-off-by: Shriram Rajagopalan <rshriram@xxxxxxxxx> > > diff -r d9c73cceb297 -r f16d772fdb6c tools/blktap2/drivers/tapdisk-disktype.h > --- a/tools/blktap2/drivers/tapdisk-disktype.h Fri Feb 25 10:29:53 > 2011 -0800 > +++ b/tools/blktap2/drivers/tapdisk-disktype.h Fri Feb 25 10:39:27 > 2011 -0800 > @@ -37,9 +37,9 @@ > #define DISK_TYPE_RAM 5 > #define DISK_TYPE_QCOW 6 > #define DISK_TYPE_BLOCK_CACHE 7 > -#define DISK_TYPE_LOG 9 > -#define DISK_TYPE_REMUS 10 > -#define DISK_TYPE_VINDEX 11 > +#define DISK_TYPE_LOG 8 > +#define DISK_TYPE_REMUS 9 > +#define DISK_TYPE_VINDEX 10 > > #define DISK_TYPE_NAME_MAX 32 Ack, unless you think the the option of making tapdisk_disktype_find just skip over holes be cleaner? Not sure if the patch below applies cleanly, but you'll get the idea. Daniel changeset: 583:d83dab01b6fa user: Daniel Stodden <daniel.stodden@xxxxxxxxxx> date: Tue Feb 15 01:37:44 2011 -0800 summary: Allow for holes in tapdisk_disk_types. diff -r 37f55e6d34ca -r d83dab01b6fa drivers/tapdisk-disktype.c --- a/drivers/tapdisk-disktype.c Tue Feb 15 01:37:44 2011 -0800 +++ b/drivers/tapdisk-disktype.c Tue Feb 15 01:37:44 2011 -0800 @@ -154,13 +154,19 @@ 0, }; +#define ARRAY_SIZE(_a) (sizeof(_a)/sizeof((_a)[0])) + int tapdisk_disktype_find(const char *name) { - const disk_info_t *info; int i; - for (i = 0; info = tapdisk_disk_types[i], info != NULL; ++i) { + for (i = 0; i < ARRAY_SIZE(tapdisk_disk_types); i++) { + const disk_info_t *info = tapdisk_disk_types[i]; + + if (!info) + continue; + if (strcmp(name, info->name)) continue; _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |