<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/mtd/ubi/wl.c, branch linux-3.5.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.5.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.5.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2012-06-07T12:22:21Z</updated>
<entry>
<title>UBI: correct ubi_wl_flush locking</title>
<updated>2012-06-07T12:22:21Z</updated>
<author>
<name>Artem Bityutskiy</name>
</author>
<published>2012-06-07T12:15:30Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=12027f1b3fd69a4e9017e6b13c72547a99c6cf54'/>
<id>urn:sha1:12027f1b3fd69a4e9017e6b13c72547a99c6cf54</id>
<content type='text'>
Commit "62f38455 UBI: modify ubi_wl_flush function to clear work queue for a lnum"
takes the 'work_sem' semaphore in write mode for the entire loop, which is not
very good because it will block other workers for potentially long time. We do
not need to have it in write mode - read mode is enough, and we do not need to
hole it over the entire loop. So this patch turns changes the locking: takes
'work_sem' in read mode and pushes it down to the loop.

Signed-off-by: Artem Bityutskiy &lt;artem.bityutskiy@linux.intel.com&gt;
</content>
</entry>
<entry>
<title>UBI: modify ubi_wl_flush function to clear work queue for a lnum</title>
<updated>2012-05-21T08:34:41Z</updated>
<author>
<name>Joel Reardon</name>
</author>
<published>2012-05-20T19:27:11Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=62f384552b6756cf1ea71f8762d1e97dc77dbd90'/>
<id>urn:sha1:62f384552b6756cf1ea71f8762d1e97dc77dbd90</id>
<content type='text'>
This patch modifies ubi_wl_flush to force the erasure of
particular volume id / logical eraseblock number pairs. Previous functionality
is preserved when passing UBI_ALL for both values. The locations where ubi_wl_flush
were called are appropriately changed: ubi_leb_erase only flushes for the
erased LEB, and ubi_create_volume forces only flushing for its volume id.
External code can call this new feature via the new function ubi_flush() added
to kapi.c, which simply passes through to ubi_wl_flush().

This was tested by disabling the call to do_work in ubi thread, which results
in the work queue remaining unless explicitly called to remove. UBIFS was
changed to call ubifs_leb_change 50 times for four different LEBs. Then the
new function was called to clear the queue: passing wrong volume ids / lnum,
correct ones, and finally UBI_ALL for both to ensure it was finally all
cleard. The work queue was dumped each time and the selective removal
of the particular LEB numbers was observed. Extra checks were enabled and
ubifs's integck was also run. Finally, the drive was repeatedly filled and
emptied to ensure that the queue was cleared normally.

Artem: amended the patch.

Signed-off-by: Joel Reardon &lt;reardonj@inf.ethz.ch&gt;
Signed-off-by: Artem Bityutskiy &lt;artem.bityutskiy@linux.intel.com&gt;
</content>
</entry>
<entry>
<title>UBI: add lnum and vol_id to struct ubi_work</title>
<updated>2012-05-21T08:34:41Z</updated>
<author>
<name>Joel Reardon</name>
</author>
<published>2012-05-18T13:40:24Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d36e59e69b8be536c55d6118630f0221cee5ccee'/>
<id>urn:sha1:d36e59e69b8be536c55d6118630f0221cee5ccee</id>
<content type='text'>
This is part of a multipart patch to allow UBI to force the erasure of
particular logical eraseblock numbers. In this patch, the volume id and LEB
number are added to ubi_work data structure, and both are also passed as a
parameter to schedule erase to set it appropriately. Whenever ubi_wl_put_peb
is called, the lnum is also passed to be forwarded to schedule erase. Later,
a new ubi_sync_lnum will be added to execute immediately all work related to
that lnum.

This was tested by outputting the vol_id and lnum during the schedule of
erasure. The ubi thread was disabled and two ubifs drives on separate
partitions repeated changed a small number of LEBs. The ubi module was readded,
and all the erased LEBs, corresponding to the volumes, were added to the
schedule erase queue.

Artem: minor tweaks

Signed-off-by: Joel Reardon &lt;reardonj@inf.ethz.ch&gt;
Signed-off-by: Artem Bityutskiy &lt;artem.bityutskiy@linux.intel.com&gt;
</content>
</entry>
<entry>
<title>UBI: rename _init_scan functions</title>
<updated>2012-05-20T17:26:04Z</updated>
<author>
<name>Artem Bityutskiy</name>
</author>
<published>2012-05-17T18:05:33Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=41e0cd9d4eeff0895e66cad5c70a90ba41023ea3'/>
<id>urn:sha1:41e0cd9d4eeff0895e66cad5c70a90ba41023ea3</id>
<content type='text'>
We have a couple of initialization funcntionsn left which have "_scan" suffic -
rename them:

ubi_eba_init_scan() -&gt; ubi_eba_init()
ubi_wl_init_scan() -&gt; ubi_wl_init()

Signed-off-by: Artem Bityutskiy &lt;artem.bityutskiy@linux.intel.com&gt;
</content>
</entry>
<entry>
<title>UBI: rename sv to av</title>
<updated>2012-05-20T17:26:02Z</updated>
<author>
<name>Artem Bityutskiy</name>
</author>
<published>2012-05-17T11:38:34Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=517af48c0540e61bbe0ebbb5f463afe937b73894'/>
<id>urn:sha1:517af48c0540e61bbe0ebbb5f463afe937b73894</id>
<content type='text'>
After re-naming the 'struct ubi_scan_volume' we should adjust all variables
named 'sv' to something else, because 'sv' stands for "scanning volume".
Let's rename it to 'av' which stands for "attaching volume" which is
a bit more consistent and has the same length, which makes re-naming easy.

Signed-off-by: Artem Bityutskiy &lt;Artem.Bityutskiy@linux.intel.com&gt;
</content>
</entry>
<entry>
<title>UBI: rename si to ai</title>
<updated>2012-05-20T17:26:02Z</updated>
<author>
<name>Artem Bityutskiy</name>
</author>
<published>2012-05-17T10:09:08Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a4e6042f1d073073f88e0ad6d2a7450da9a3937d'/>
<id>urn:sha1:a4e6042f1d073073f88e0ad6d2a7450da9a3937d</id>
<content type='text'>
After re-naming the 'struct ubi_scan_info' we should adjust all variables
named 'si' to something else, because 'si' stands for "scanning info".
Let's rename it to 'ai' which stands for "attaching info" which is
a bit more consistent and has the same length, which makes re-naming easy.

Signed-off-by: Artem Bityutskiy &lt;Artem.Bityutskiy@linux.intel.com&gt;
</content>
</entry>
<entry>
<title>UBI: rename seb to aeb</title>
<updated>2012-05-20T17:26:02Z</updated>
<author>
<name>Artem Bityutskiy</name>
</author>
<published>2012-05-17T05:26:24Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2c5ec5ce66c0170829c5c128b9235429936442ac'/>
<id>urn:sha1:2c5ec5ce66c0170829c5c128b9235429936442ac</id>
<content type='text'>
After re-naming the 'struct ubi_scan_leb' we should adjust all variables
named 'seb' to something else, because 'seb' stands for "scanning eraseblock".
Let's rename it to 'aeb' which stands for "attaching eraseblock" which is
a bit more consistend and has the same length.

Signed-off-by: Artem Bityutskiy &lt;Artem.Bityutskiy@linux.intel.com&gt;
</content>
</entry>
<entry>
<title>UBI: rename struct ubi_scan_info</title>
<updated>2012-05-20T17:26:01Z</updated>
<author>
<name>Artem Bityutskiy</name>
</author>
<published>2012-05-17T04:46:17Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=afc15a814b9b5879ec361b76d45f68dc3b2cd4c1'/>
<id>urn:sha1:afc15a814b9b5879ec361b76d45f68dc3b2cd4c1</id>
<content type='text'>
Rename 'struct ubi_scan_info' to 'struct ubi_attach_info'. This is part
of the code re-structuring I am trying to do in order to add fastmap
in a more logical way. Fastmap can share a lot with scanning, including
the attach-time data structures, which all now have "scan" word in the
name. Let's get rid of this word.

Signed-off-by: Artem Bityutskiy &lt;Artem.Bityutskiy@linux.intel.com&gt;
</content>
</entry>
<entry>
<title>UBI: rename struct ubi_scan_volume</title>
<updated>2012-05-20T17:26:01Z</updated>
<author>
<name>Artem Bityutskiy</name>
</author>
<published>2012-05-17T03:59:30Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=cb28a9322dd26cb6c29b7dda9a42626daca1024a'/>
<id>urn:sha1:cb28a9322dd26cb6c29b7dda9a42626daca1024a</id>
<content type='text'>
Rename 'struct ubi_scan_volume' to 'struct ubi_ainf_volume'. This is part
of the code re-structuring I am trying to do in order to add fastmap
in a more logical way. Fastmap can share a lot with scanning, including
the attach-time data structures, which all now have "scan" word in the
name. Let's get rid of this word and use "ainf" instead which stands
for "attach information". It has the same length as "scan" so re-naming
is trivial.

Signed-off-by: Artem Bityutskiy &lt;Artem.Bityutskiy@linux.intel.com&gt;
</content>
</entry>
<entry>
<title>UBI: rename struct ubi_scan_leb</title>
<updated>2012-05-20T17:26:01Z</updated>
<author>
<name>Artem Bityutskiy</name>
</author>
<published>2012-05-17T03:23:22Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=227423d2416651abeafb5fd0c88c50eb0b99cb97'/>
<id>urn:sha1:227423d2416651abeafb5fd0c88c50eb0b99cb97</id>
<content type='text'>
Rename 'struct ubi_scan_leb' to 'struct ubi_ainf_leb'. This is part
of the code re-structuring I am trying to do in order to add fastmap
in a more logical way. Fastmap can share a lot with scanning, including
the attach-time data structures, which all now have "scan" word in the
name. Let's get rid of this word and use "ainf" instead which stands
for "attach information". It has the same length as "scan" so re-naming
is trivial.

Signed-off-by: Artem Bityutskiy &lt;Artem.Bityutskiy@linux.intel.com&gt;
</content>
</entry>
</feed>
