Commit 44156267 authored by Artem Bityutskiy's avatar Artem Bityutskiy

UBI: amend commentaries WRT dtype

Richard removed the "dtype" hint, but few commentaries were left and this patch
removes them. I've also added a better description about the "dtype" field in
the ubi-user.h for people who may ever wonder what was that dtype thing about.

This patch also adds an important note that it is better to use value "3" for
the "dtype" field.
Signed-off-by: default avatarArtem Bityutskiy <artem.bityutskiy@linux.intel.com>
parent a65a0eb6
...@@ -41,12 +41,6 @@ ...@@ -41,12 +41,6 @@
* physical eraseblocks with low erase counter to free physical eraseblocks * physical eraseblocks with low erase counter to free physical eraseblocks
* with high erase counter. * with high erase counter.
* *
* The 'ubi_wl_get_peb()' function accepts data type hints which help to pick
* an "optimal" physical eraseblock. For example, when it is known that the
* physical eraseblock will be "put" soon because it contains short-term data,
* the WL sub-system may pick a free physical eraseblock with low erase
* counter, and so forth.
*
* If the WL sub-system fails to erase a physical eraseblock, it marks it as * If the WL sub-system fails to erase a physical eraseblock, it marks it as
* bad. * bad.
* *
...@@ -70,8 +64,7 @@ ...@@ -70,8 +64,7 @@
* to the user; instead, we first want to let users fill them up with data; * to the user; instead, we first want to let users fill them up with data;
* *
* o there is a chance that the user will put the physical eraseblock very * o there is a chance that the user will put the physical eraseblock very
* soon, so it makes sense not to move it for some time, but wait; this is * soon, so it makes sense not to move it for some time, but wait.
* especially important in case of "short term" physical eraseblocks.
* *
* Physical eraseblocks stay protected only for limited time. But the "time" is * Physical eraseblocks stay protected only for limited time. But the "time" is
* measured in erase cycles in this case. This is implemented with help of the * measured in erase cycles in this case. This is implemented with help of the
......
...@@ -814,9 +814,8 @@ static int alloc_wbufs(struct ubifs_info *c) ...@@ -814,9 +814,8 @@ static int alloc_wbufs(struct ubifs_info *c)
} }
/* /*
* Garbage Collector head likely contains long-term data and * Garbage Collector head does not need to be synchronized by timer.
* does not need to be synchronized by timer. Also GC head nodes are * Also GC head nodes are not grouped.
* not grouped.
*/ */
c->jheads[GCHD].wbuf.no_timer = 1; c->jheads[GCHD].wbuf.no_timer = 1;
c->jheads[GCHD].grouped = 0; c->jheads[GCHD].grouped = 0;
......
...@@ -358,7 +358,17 @@ struct ubi_rnvol_req { ...@@ -358,7 +358,17 @@ struct ubi_rnvol_req {
* requests. * requests.
* @lnum: logical eraseblock number to change * @lnum: logical eraseblock number to change
* @bytes: how many bytes will be written to the logical eraseblock * @bytes: how many bytes will be written to the logical eraseblock
* @dtype: pass "3" for better compatibility with old kernels
* @padding: reserved for future, not used, has to be zeroed * @padding: reserved for future, not used, has to be zeroed
*
* The @dtype field used to inform UBI about what kind of data will be written
* to the LEB: long term (value 1), short term (value 2), unknown (value 3).
* UBI tried to pick a PEB with lower erase counter for short term data and a
* PEB with higher erase counter for long term data. But this was not really
* used because users usually do not know this and could easily mislead UBI. We
* removed this feature in May 2012. UBI currently just ignores the @dtype
* field. But for better compatibility with older kernels it is recommended to
* set @dtype to 3 (unknown).
*/ */
struct ubi_leb_change_req { struct ubi_leb_change_req {
__s32 lnum; __s32 lnum;
...@@ -369,6 +379,7 @@ struct ubi_leb_change_req { ...@@ -369,6 +379,7 @@ struct ubi_leb_change_req {
/** /**
* struct ubi_map_req - a data structure used in map LEB requests. * struct ubi_map_req - a data structure used in map LEB requests.
* @dtype: pass "3" for better compatibility with old kernels
* @lnum: logical eraseblock number to unmap * @lnum: logical eraseblock number to unmap
* @padding: reserved for future, not used, has to be zeroed * @padding: reserved for future, not used, has to be zeroed
*/ */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment