On Fri, Sep 25, 2009 at 1:37 PM, Adrian Hunter <adrian.hunter@xxxxxxxxx> wrote: > Corentin Chary wrote: >> >> This is needed to use $ mount /dev/ubi0_0 /mnt/nand >> You'll also need a recent libblkid with UBI and UBIFS >> support. >> >> Signed-off-by: Corentin Chary <corentincj@xxxxxxxxxx> >> --- >> fs/ubifs/super.c | 12 ++++++++---- >> 1 files changed, 8 insertions(+), 4 deletions(-) >> >> diff --git a/fs/ubifs/super.c b/fs/ubifs/super.c >> index 7e2b3d4..38320ad 100644 >> --- a/fs/ubifs/super.c >> +++ b/fs/ubifs/super.c >> @@ -1843,10 +1843,11 @@ const struct super_operations >> ubifs_super_operations = { >> * @mode: UBI volume open mode >> * >> * There are several ways to specify UBI volumes when mounting UBIFS: >> - * o ubiX_Y - UBI device number X, volume Y; >> - * o ubiY - UBI device number 0, volume Y; >> - * o ubiX:NAME - mount UBI device X, volume with name NAME; >> - * o ubi:NAME - mount UBI device 0, volume with name NAME. >> + * o /dev/ubiX_Y - UBI device number X, volume Y; >> + * o ubiX_Y - UBI device number X, volume Y; >> + * o ubiY - UBI device number 0, volume Y; >> + * o ubiX:NAME - mount UBI device X, volume with name NAME; >> + * o ubi:NAME - mount UBI device 0, volume with name NAME. >> * >> * Alternative '!' separator may be used instead of ':' (because some >> shells >> * like busybox may interpret ':' as an NFS host name separator). This >> function >> @@ -1858,6 +1859,9 @@ static struct ubi_volume_desc *open_ubi(const char >> *name, int mode) >> int dev, vol; >> char *endptr; >> + if (!strncmp("/dev/", name, 5)) >> + name = name + 5; >> + >> if (name[0] != 'u' || name[1] != 'b' || name[2] != 'i') >> return ERR_PTR(-EINVAL); > > Is this for the kernel? Yes > I do not think UBIFS should interpret the file name. It should > work off the major and minor numbers from the device node > irrespective of what its path name or file name is. UBIFS is currently a "nodev" filesystem, it's why I did it that way. Using name and kern_path we can find the corresponding inode (and major/minor informations). But I don't see a way to open the corresponding UBI volume with only major/minor. ubi_open_volume use ubi_num and vol_id. vol_id is minor()-1, but major is not related to ubi_num. UBI have a "ubi_major2num" internally, is it ok to export this symbol ? Thanks -- Corentin Chary http://xf.iksaif.net -- To unsubscribe from this list: send the line "unsubscribe util-linux-ng" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html