[PATCH 1/3] libubi: add ubi_is_mapped() function

Corentin Chary corentincj at iksaif.net
Sat May 9 05:41:06 EDT 2009


Signed-off-by: Corentin Chary <corentincj at iksaif.net>
---
 ubi-utils/include/libubi.h |   17 +++++++++++++++++
 ubi-utils/src/libubi.c     |    5 +++++
 2 files changed, 22 insertions(+), 0 deletions(-)

diff --git a/ubi-utils/include/libubi.h b/ubi-utils/include/libubi.h
index 4ffe1e8..f52904d 100644
--- a/ubi-utils/include/libubi.h
+++ b/ubi-utils/include/libubi.h
@@ -414,6 +414,23 @@ int ubi_set_property(int fd, uint8_t property, uint64_t value);
  */
 int ubi_leb_unmap(int fd, int lnum);
 
+/**
+ * ubi_is_mapped - check if logical eraseblock is mapped.
+ * @fd: volume character device file descriptor
+ * @lnum: logical eraseblock number
+ *
+ * This function checks if logical eraseblock @lnum is mapped to a physical
+ * eraseblock. If a logical eraseblock is un-mapped, this does not necessarily
+ * mean it will still be un-mapped after the UBI device is re-attached. The
+ * logical eraseblock may become mapped to the physical eraseblock it was last
+ * mapped to.
+ *
+ * This function returns %1 if the LEB is mapped, %0 if not, and %-1 in case of
+ * failure. If the volume is damaged because of an interrupted update errno
+ * set with %EBADF error code.
+ */
+int ubi_is_mapped(int fd, int lnum);
+
 #ifdef __cplusplus
 }
 #endif
diff --git a/ubi-utils/src/libubi.c b/ubi-utils/src/libubi.c
index 5c8ce9e..a81173d 100644
--- a/ubi-utils/src/libubi.c
+++ b/ubi-utils/src/libubi.c
@@ -1255,3 +1255,8 @@ int ubi_leb_unmap(int fd, int lnum)
 {
 	return ioctl(fd, UBI_IOCEBUNMAP, &lnum);
 }
+
+int ubi_is_mapped(int fd, int lnum)
+{
+	return ioctl(fd, UBI_IOCEBISMAP, &lnum);
+}
-- 
1.6.3





More information about the linux-mtd mailing list