aboutsummaryrefslogtreecommitdiffstats
path: root/include/mtd/ubi-user.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/mtd/ubi-user.h')
-rw-r--r--include/mtd/ubi-user.h34
1 files changed, 13 insertions, 21 deletions
diff --git a/include/mtd/ubi-user.h b/include/mtd/ubi-user.h
index 3c4109777aff..8787349fbafe 100644
--- a/include/mtd/ubi-user.h
+++ b/include/mtd/ubi-user.h
@@ -196,23 +196,6 @@
196#define UBI_MAX_RNVOL 32 196#define UBI_MAX_RNVOL 32
197 197
198/* 198/*
199 * UBI data type hint constants.
200 *
201 * UBI_LONGTERM: long-term data
202 * UBI_SHORTTERM: short-term data
203 * UBI_UNKNOWN: data persistence is unknown
204 *
205 * These constants are used when data is written to UBI volumes in order to
206 * help the UBI wear-leveling unit to find more appropriate physical
207 * eraseblocks.
208 */
209enum {
210 UBI_LONGTERM = 1,
211 UBI_SHORTTERM = 2,
212 UBI_UNKNOWN = 3,
213};
214
215/*
216 * UBI volume type constants. 199 * UBI volume type constants.
217 * 200 *
218 * @UBI_DYNAMIC_VOLUME: dynamic volume 201 * @UBI_DYNAMIC_VOLUME: dynamic volume
@@ -375,25 +358,34 @@ struct ubi_rnvol_req {
375 * requests. 358 * requests.
376 * @lnum: logical eraseblock number to change 359 * @lnum: logical eraseblock number to change
377 * @bytes: how many bytes will be written to the logical eraseblock 360 * @bytes: how many bytes will be written to the logical eraseblock
378 * @dtype: data type (%UBI_LONGTERM, %UBI_SHORTTERM, %UBI_UNKNOWN) 361 * @dtype: pass "3" for better compatibility with old kernels
379 * @padding: reserved for future, not used, has to be zeroed 362 * @padding: reserved for future, not used, has to be zeroed
363 *
364 * The @dtype field used to inform UBI about what kind of data will be written
365 * to the LEB: long term (value 1), short term (value 2), unknown (value 3).
366 * UBI tried to pick a PEB with lower erase counter for short term data and a
367 * PEB with higher erase counter for long term data. But this was not really
368 * used because users usually do not know this and could easily mislead UBI. We
369 * removed this feature in May 2012. UBI currently just ignores the @dtype
370 * field. But for better compatibility with older kernels it is recommended to
371 * set @dtype to 3 (unknown).
380 */ 372 */
381struct ubi_leb_change_req { 373struct ubi_leb_change_req {
382 __s32 lnum; 374 __s32 lnum;
383 __s32 bytes; 375 __s32 bytes;
384 __s8 dtype; 376 __s8 dtype; /* obsolete, do not use! */
385 __s8 padding[7]; 377 __s8 padding[7];
386} __packed; 378} __packed;
387 379
388/** 380/**
389 * struct ubi_map_req - a data structure used in map LEB requests. 381 * struct ubi_map_req - a data structure used in map LEB requests.
382 * @dtype: pass "3" for better compatibility with old kernels
390 * @lnum: logical eraseblock number to unmap 383 * @lnum: logical eraseblock number to unmap
391 * @dtype: data type (%UBI_LONGTERM, %UBI_SHORTTERM, %UBI_UNKNOWN)
392 * @padding: reserved for future, not used, has to be zeroed 384 * @padding: reserved for future, not used, has to be zeroed
393 */ 385 */
394struct ubi_map_req { 386struct ubi_map_req {
395 __s32 lnum; 387 __s32 lnum;
396 __s8 dtype; 388 __s8 dtype; /* obsolete, do not use! */
397 __s8 padding[3]; 389 __s8 padding[3];
398} __packed; 390} __packed;
399 391