59 lines
2.2 KiB
Diff
59 lines
2.2 KiB
Diff
|
From 463c5eedb4a13b9aa91f05498a0f2c20bd03f8c4 Mon Sep 17 00:00:00 2001
|
||
|
From: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
|
||
|
Date: Wed, 5 Mar 2014 11:16:14 -0300
|
||
|
Subject: [PATCH] UBI: make UBI_IOCVOLCRBLK take a parameter for future usage
|
||
|
|
||
|
In order to allow a future ioctl parameter, such as a creation flag,
|
||
|
we change the UBI_IOCVOLCRBLK so it accepts a struct ubi_blkcreate_req.
|
||
|
For the time being the structure is not in use, but fully reserved.
|
||
|
|
||
|
This ABI change is still possible and harmless, because the ioctl has just
|
||
|
been introduced and there's no userspace program which uses it.
|
||
|
|
||
|
Signed-off-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
|
||
|
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
|
||
|
---
|
||
|
include/uapi/mtd/ubi-user.h | 19 +++++++++++++++----
|
||
|
1 file changed, 15 insertions(+), 4 deletions(-)
|
||
|
|
||
|
--- a/include/uapi/mtd/ubi-user.h
|
||
|
+++ b/include/uapi/mtd/ubi-user.h
|
||
|
@@ -138,9 +138,12 @@
|
||
|
* Block devices on UBI volumes
|
||
|
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||
|
*
|
||
|
- * To create or remove a R/O block device on top of an UBI volume the
|
||
|
- * %UBI_IOCVOLCRBLK and %UBI_IOCVOLRMBLK ioctl commands should be used,
|
||
|
- * respectively. These commands take no arguments.
|
||
|
+ * To create a R/O block device on top of an UBI volume the %UBI_IOCVOLCRBLK
|
||
|
+ * should be used. A pointer to a &struct ubi_blkcreate_req object is expected
|
||
|
+ * to be passed, which is not used and reserved for future usage.
|
||
|
+ *
|
||
|
+ * Conversely, to remove a block device the %UBI_IOCVOLRMBLK should be used,
|
||
|
+ * which takes no arguments.
|
||
|
*/
|
||
|
|
||
|
/*
|
||
|
@@ -199,7 +202,7 @@
|
||
|
#define UBI_IOCSETVOLPROP _IOW(UBI_VOL_IOC_MAGIC, 6, \
|
||
|
struct ubi_set_vol_prop_req)
|
||
|
/* Create a R/O block device on top of an UBI volume */
|
||
|
-#define UBI_IOCVOLCRBLK _IO(UBI_VOL_IOC_MAGIC, 7)
|
||
|
+#define UBI_IOCVOLCRBLK _IOW(UBI_VOL_IOC_MAGIC, 7, struct ubi_blkcreate_req)
|
||
|
/* Remove the R/O block device */
|
||
|
#define UBI_IOCVOLRMBLK _IO(UBI_VOL_IOC_MAGIC, 8)
|
||
|
|
||
|
@@ -431,4 +434,12 @@ struct ubi_set_vol_prop_req {
|
||
|
__u64 value;
|
||
|
} __packed;
|
||
|
|
||
|
+/**
|
||
|
+ * struct ubi_blkcreate_req - a data structure used in block creation requests.
|
||
|
+ * @padding: reserved for future, not used, has to be zeroed
|
||
|
+ */
|
||
|
+struct ubi_blkcreate_req {
|
||
|
+ __s8 padding[128];
|
||
|
+} __packed;
|
||
|
+
|
||
|
#endif /* __UBI_USER_H__ */
|