Message ID | 1249973154.19638.30.camel@localhost |
---|---|
State | Accepted |
Commit | 6eba06c395f72e43505b21f073275bd071782552 |
Headers | show |
On 08/11/2009 09:45 AM, Artem Bityutskiy wrote: > On Sun, 2009-08-02 at 16:04 +0200, Daniel Neukomm wrote: >> patch for mkfs.ubifs devtable.c increment in dev_table is wrongly >> interpreted >> >> with the device table one can add /dev entries to the root file system >> image. >> The device table file contains among others the fields minor, start, >> increment and count. >> If there is an entry with minor=0 start=0 increment =32 and count=4 the >> mkfs.ubifs makes >> 128 device entries, with minor numbers from 0 to 127 >> The correct version makes 4 entries with minor number 0,32,64,96. >> >> /dev/mtd c 640 0 0 90 0 0 2 7 >> This gives 14 devices /dev/mtdXX instead of 7 devices. >> Due to this error mtd_debug info /dev/mtd3 delivers the information of >> /dev/mtd1 instead of. > > Ok, below is how you was supposed to send the patch (without my > Signed-off-by, of course). I just applied your patch manually (usually > we use git am for this) and tweaked it. > > Please, check that I did not do any mistake. After you have confirmed > this, I'll push this to the mtd-utils repository. I've pushed it actually to mtd-utils.git. But please, check it anyway.
Artem Bityutskiy schrieb: > On 08/11/2009 09:45 AM, Artem Bityutskiy wrote: >> On Sun, 2009-08-02 at 16:04 +0200, Daniel Neukomm wrote: >>> patch for mkfs.ubifs devtable.c increment in dev_table is wrongly >>> interpreted >>> >>> with the device table one can add /dev entries to the root file system >>> image. >>> The device table file contains among others the fields minor, start, >>> increment and count. >>> If there is an entry with minor=0 start=0 increment =32 and count=4 the >>> mkfs.ubifs makes >>> 128 device entries, with minor numbers from 0 to 127 >>> The correct version makes 4 entries with minor number 0,32,64,96. >>> >>> /dev/mtd c 640 0 0 90 0 0 2 7 >>> This gives 14 devices /dev/mtdXX instead of 7 devices. >>> Due to this error mtd_debug info /dev/mtd3 delivers the information of >>> /dev/mtd1 instead of. >> >> Ok, below is how you was supposed to send the patch (without my >> Signed-off-by, of course). I just applied your patch manually (usually >> we use git am for this) and tweaked it. >> >> Please, check that I did not do any mistake. After you have confirmed >> this, I'll push this to the mtd-utils repository. > > I've pushed it actually to mtd-utils.git. But please, check it anyway. > The new patch (without line-wrapping) works. The actual trunk version from mtd-utils repository contains the intented corrections.
diff --git a/mkfs.ubifs/devtable.c b/mkfs.ubifs/devtable.c index 236a6e7..dee035d 100644 --- a/mkfs.ubifs/devtable.c +++ b/mkfs.ubifs/devtable.c @@ -248,7 +248,7 @@ static int interpret_table_entry(const char *line) goto out_free; } } else { - int i, num = start + increment * count, len = strlen(name) + 20; + int i, num = start + count, len = strlen(name) + 20; char *nm; for (i = start; i < num; i++) { @@ -262,7 +262,7 @@ static int interpret_table_entry(const char *line) nh_elt->mode = mode; nh_elt->uid = uid; nh_elt->gid = gid; - nh_elt->dev = makedev(major, minor + i - start); + nh_elt->dev = makedev(major, minor + (i - start) * increment); nm = malloc(len); if (!nm) {