Patchwork [2/2] UBIFS: Use ubi_open_volume_path() in open_ubi()

login
register
mail settings
Submitter Corentin Chary
Date Sept. 28, 2009, 7:10 p.m.
Message ID <1254165012-10798-2-git-send-email-corentincj@iksaif.net>
Download mbox | patch
Permalink /patch/34388/
State New
Headers show

Comments

Corentin Chary - Sept. 28, 2009, 7:10 p.m.
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@iksaif.net>
---
 fs/ubifs/super.c |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)

Patch

diff --git a/fs/ubifs/super.c b/fs/ubifs/super.c
index 7e2b3d4..146289b 100644
--- a/fs/ubifs/super.c
+++ b/fs/ubifs/super.c
@@ -1847,6 +1847,7 @@  const struct super_operations ubifs_super_operations = {
  * 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 PATH      - For example /dev/ubi0_0
  *
  * Alternative '!' separator may be used instead of ':' (because some shells
  * like busybox may interpret ':' as an NFS host name separator). This function
@@ -1855,9 +1856,15 @@  const struct super_operations ubifs_super_operations = {
  */
 static struct ubi_volume_desc *open_ubi(const char *name, int mode)
 {
+	struct ubi_volume_desc *ubi;
 	int dev, vol;
 	char *endptr;
 
+	/* path method */
+	ubi = ubi_open_volume_path(name, mode);
+	if (!IS_ERR(ubi))
+		return ubi;
+
 	if (name[0] != 'u' || name[1] != 'b' || name[2] != 'i')
 		return ERR_PTR(-EINVAL);