UBI: improve error messages

Linux-MTD Mailing List linux-mtd at lists.infradead.org
Tue Jan 8 02:59:01 EST 2008


Gitweb:     http://git.infradead.org/?p=mtd-2.6.git;a=commit;h=01f7b309e453dc8499c318f6810f76b606b66134
Commit:     01f7b309e453dc8499c318f6810f76b606b66134
Parent:     49dfc299288fe183b62a3f679a40c91b482d6d73
Author:     Artem Bityutskiy <Artem.Bityutskiy at nokia.com>
AuthorDate: Sat Dec 15 19:56:51 2007 +0200
Committer:  Artem Bityutskiy <Artem.Bityutskiy at nokia.com>
CommitDate: Wed Dec 26 19:15:14 2007 +0200

    UBI: improve error messages
    
    Always print error code with error messages, sometimes it is
    extremely helpful info.
    
    Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy at nokia.com>
---
 drivers/mtd/ubi/build.c |   13 +++++++++----
 drivers/mtd/ubi/cdev.c  |    3 ++-
 drivers/mtd/ubi/vmt.c   |   11 ++++++++---
 3 files changed, 19 insertions(+), 8 deletions(-)

diff --git a/drivers/mtd/ubi/build.c b/drivers/mtd/ubi/build.c
index b0791f7..5490a73 100644
--- a/drivers/mtd/ubi/build.c
+++ b/drivers/mtd/ubi/build.c
@@ -211,7 +211,8 @@ out_eraseblock_size:
 out_unregister:
 	device_unregister(&ubi->dev);
 out:
-	ubi_err("failed to initialize sysfs for %s", ubi->ubi_name);
+	ubi_err("failed to initialize sysfs for %s, error %d",
+		ubi->ubi_name, err);
 	return err;
 }
 
@@ -285,7 +286,7 @@ static int uif_init(struct ubi_device *ubi)
 
 	err = cdev_add(&ubi->cdev, dev, 1);
 	if (err) {
-		ubi_err("cannot add character device %s", ubi->ubi_name);
+		ubi_err("cannot add character device");
 		goto out_unreg;
 	}
 
@@ -296,8 +297,10 @@ static int uif_init(struct ubi_device *ubi)
 	for (i = 0; i < ubi->vtbl_slots; i++)
 		if (ubi->volumes[i]) {
 			err = ubi_add_volume(ubi, i);
-			if (err)
+			if (err) {
+				ubi_err("cannot add volume %d", i);
 				goto out_volumes;
+			}
 		}
 
 	return 0;
@@ -309,6 +312,7 @@ out_cdev:
 	cdev_del(&ubi->cdev);
 out_unreg:
 	unregister_chrdev_region(ubi->cdev.dev, ubi->vtbl_slots + 1);
+	ubi_err("cannot initialize UBI %s, error %d", ubi->ubi_name, err);
 	return err;
 }
 
@@ -422,7 +426,8 @@ static int io_init(struct ubi_device *ubi)
 
 	/* Make sure minimal I/O unit is power of 2 */
 	if (!is_power_of_2(ubi->min_io_size)) {
-		ubi_err("bad min. I/O unit");
+		ubi_err("min. I/O unit (%d) is not power of 2",
+			ubi->min_io_size);
 		return -EINVAL;
 	}
 
diff --git a/drivers/mtd/ubi/cdev.c b/drivers/mtd/ubi/cdev.c
index 9771e7f..12777da 100644
--- a/drivers/mtd/ubi/cdev.c
+++ b/drivers/mtd/ubi/cdev.c
@@ -377,7 +377,8 @@ static ssize_t vol_cdev_write(struct file *file, const char __user *buf,
 
 	err = ubi_more_update_data(ubi, vol->vol_id, buf, count);
 	if (err < 0) {
-		ubi_err("cannot write %zd bytes of update data", count);
+		ubi_err("cannot write %zd bytes of update data, error %d",
+			count, err);
 		return err;
 	}
 
diff --git a/drivers/mtd/ubi/vmt.c b/drivers/mtd/ubi/vmt.c
index 6609c31..787ce9e 100644
--- a/drivers/mtd/ubi/vmt.c
+++ b/drivers/mtd/ubi/vmt.c
@@ -305,7 +305,7 @@ int ubi_create_volume(struct ubi_device *ubi, struct ubi_mkvol_req *req)
 	dev = MKDEV(MAJOR(ubi->cdev.dev), vol_id + 1);
 	err = cdev_add(&vol->cdev, dev, 1);
 	if (err) {
-		ubi_err("cannot add character device for volume %d", vol_id);
+		ubi_err("cannot add character device");
 		goto out_mapping;
 	}
 
@@ -319,8 +319,10 @@ int ubi_create_volume(struct ubi_device *ubi, struct ubi_mkvol_req *req)
 	vol->dev.class = ubi_class;
 	sprintf(&vol->dev.bus_id[0], "%s_%d", ubi->ubi_name, vol->vol_id);
 	err = device_register(&vol->dev);
-	if (err)
+	if (err) {
+		ubi_err("cannot register device");
 		goto out_gluebi;
+	}
 
 	err = volume_sysfs_init(ubi, vol);
 	if (err)
@@ -364,6 +366,7 @@ out_acc:
 out_unlock:
 	spin_unlock(&ubi->volumes_lock);
 	kfree(vol);
+	ubi_err("cannot create volume %d, error %d", vol_id, err);
 	return err;
 
 	/*
@@ -380,6 +383,7 @@ out_sysfs:
 	ubi->volumes[vol_id] = NULL;
 	spin_unlock(&ubi->volumes_lock);
 	volume_sysfs_close(vol);
+	ubi_err("cannot create volume %d, error %d", vol_id, err);
 	return err;
 }
 
@@ -591,7 +595,8 @@ int ubi_add_volume(struct ubi_device *ubi, int vol_id)
 	dev = MKDEV(MAJOR(ubi->cdev.dev), vol->vol_id + 1);
 	err = cdev_add(&vol->cdev, dev, 1);
 	if (err) {
-		ubi_err("cannot add character device for volume %d", vol_id);
+		ubi_err("cannot add character device for volume %d, error %d",
+			vol_id, err);
 		return err;
 	}
 



More information about the linux-mtd-cvs mailing list