mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-11-03 22:44:27 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			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.
 | 
						|
  */
 | 
						|
 
 | 
						|
 /*
 | 
						|
@@ -196,7 +199,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)
 | 
						|
 
 | 
						|
@@ -428,4 +431,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__ */
 |