<feed xmlns='http://www.w3.org/2005/Atom'>
<title>xavi/android_kernel_m2note/fs/squashfs, branch ng-7.1.2</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<id>https://gitea.privatedns.org/xavi/android_kernel_m2note/atom?h=ng-7.1.2</id>
<link rel='self' href='https://gitea.privatedns.org/xavi/android_kernel_m2note/atom?h=ng-7.1.2'/>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/android_kernel_m2note/'/>
<updated>2017-06-28T10:07:23+00:00</updated>
<entry>
<title>ANDROID: squashfs: Fix endianness issue</title>
<updated>2017-06-28T10:07:23+00:00</updated>
<author>
<name>Daniel Rosenberg</name>
<email>drosen@google.com</email>
</author>
<published>2017-06-27T01:21:56+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/android_kernel_m2note/commit/?id=2cb98cb6de4bd687780d60a8377c6c02e2bc47e7'/>
<id>urn:sha1:2cb98cb6de4bd687780d60a8377c6c02e2bc47e7</id>
<content type='text'>
Code in squashfs_process_blocks was not correctly assigning
length. Casting to u16* introduced endianness issues on some
architectures.

Signed-off-by: Daniel Rosenberg &lt;drosen@google.com&gt;
Bug: 35257858
Change-Id: I9efaef4bc531b7469de79cf94738ade2dd6e6a8c
</content>
</entry>
<entry>
<title>ANDROID: squashfs: Fix signed division issue</title>
<updated>2017-06-28T10:07:22+00:00</updated>
<author>
<name>Daniel Rosenberg</name>
<email>drosen@google.com</email>
</author>
<published>2017-06-21T00:05:33+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/android_kernel_m2note/commit/?id=da2fece941d2269e1892dcba1b153807167b32f2'/>
<id>urn:sha1:da2fece941d2269e1892dcba1b153807167b32f2</id>
<content type='text'>
The value here can change depending on the type that PAGE_SIZE
has on a given architecture. To avoid the ensuing signed and
unsigned division conversions, we shift instead using PAGE_SHIFT

Signed-off-by: Daniel Rosenberg &lt;drosen@google.com&gt;
Bug: 35257858
Change-Id: I132cae93abea39390c3f0f91a4b2e026e97ed4c7
</content>
</entry>
<entry>
<title>ANDROID: Squashfs: fix missing NULL check</title>
<updated>2017-04-11T09:00:29+00:00</updated>
<author>
<name>Daniel Rosenberg</name>
<email>drosen@google.com</email>
</author>
<published>2017-02-11T00:04:50+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/android_kernel_m2note/commit/?id=d0c9b3a66a5a0ebf2f386153f3a64644055a89e0'/>
<id>urn:sha1:d0c9b3a66a5a0ebf2f386153f3a64644055a89e0</id>
<content type='text'>
"Squashfs: refactor page_actor" missed a null check within
squashfs_bh_to_actor, as that array may now contain null entries

Signed-off-by: Daniel Rosenberg &lt;drosen@google.com&gt;
Bug: 35257858
Change-Id: Ia6748af980859237a96f509f35903f722a46fd59
</content>
</entry>
<entry>
<title>fs/squashfs: change usage of LZ4 to work with new LZ4 version</title>
<updated>2017-04-11T09:00:22+00:00</updated>
<author>
<name>Sven Schmidt</name>
<email>4sschmid@informatik.uni-hamburg.de</email>
</author>
<published>2017-02-24T23:01:22+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/android_kernel_m2note/commit/?id=ac8e2cd3b18cff9d33ec2884b8e75bfc2a2b8c5e'/>
<id>urn:sha1:ac8e2cd3b18cff9d33ec2884b8e75bfc2a2b8c5e</id>
<content type='text'>
Update fs/squashfs to use the updated functions from the
new LZ4 module.

Link: http://lkml.kernel.org/r/1486321748-19085-5-git-send-email-4sschmid@informatik.uni-hamburg.de
Signed-off-by: Sven Schmidt &lt;4sschmid@informatik.uni-hamburg.de&gt;
Cc: Bongkyu Kim &lt;bongkyu.kim@lge.com&gt;
Cc: Rui Salvaterra &lt;rsalvaterra@gmail.com&gt;
Cc: Sergey Senozhatsky &lt;sergey.senozhatsky@gmail.com&gt;
Cc: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
Cc: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
Cc: David S. Miller &lt;davem@davemloft.net&gt;
Cc: Anton Vorontsov &lt;anton@enomsg.org&gt;
Cc: Colin Cross &lt;ccross@android.com&gt;
Cc: Kees Cook &lt;keescook@chromium.org&gt;
Cc: Tony Luck &lt;tony.luck@intel.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>Squashfs: optimize reading uncompressed data</title>
<updated>2017-04-11T09:00:21+00:00</updated>
<author>
<name>Adrien Schildknecht</name>
<email>adriens@google.com</email>
</author>
<published>2016-09-29T22:25:30+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/android_kernel_m2note/commit/?id=ded0debe27b1cb8c7e6708d70bfa49c3e14dde70'/>
<id>urn:sha1:ded0debe27b1cb8c7e6708d70bfa49c3e14dde70</id>
<content type='text'>
When dealing with uncompressed data, there is no need to read a whole
block (default 128K) to get the desired page: the pages are
independent from each others.

This patch change the readpages logic so that reading uncompressed
data only read the number of pages advised by the readahead algorithm.

Moreover, if the page actor contains holes (i.e. pages that are already
up-to-date), squashfs skips the buffer_head associated to those pages.

This patch greatly improve the performance of random reads for
uncompressed files because squashfs only read what is needed. It also
reduces the number of unnecessary reads.

Signed-off-by: Adrien Schildknecht &lt;adriens@google.com&gt;
Change-Id: I9109e431ac180a4e0c65381a3e754a425672d3c0
</content>
</entry>
<entry>
<title>Squashfs: implement .readpages()</title>
<updated>2017-04-11T09:00:21+00:00</updated>
<author>
<name>Adrien Schildknecht</name>
<email>adriens@google.com</email>
</author>
<published>2016-11-07T20:41:42+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/android_kernel_m2note/commit/?id=72a5ae8e69a24047109b2522c7f344ddaa359211'/>
<id>urn:sha1:72a5ae8e69a24047109b2522c7f344ddaa359211</id>
<content type='text'>
Squashfs does not implement .readpages(), so the kernel just repeatedly
calls .readpage().

The readpages function tries to pack as much pages as possible in the
same page actor so that only 1 read request is issued.

Now that the read requests are asynchronous, the kernel can truly
prefetch pages using its readahead algorithm.

Signed-off-by: Adrien Schildknecht &lt;adriens@google.com&gt;
Change-Id: I09590c56876e931acca9070505476a98ab1ca79e
</content>
</entry>
<entry>
<title>Squashfs: replace buffer_head with BIO</title>
<updated>2017-04-11T09:00:20+00:00</updated>
<author>
<name>Adrien Schildknecht</name>
<email>adriens@google.com</email>
</author>
<published>2016-11-07T20:37:55+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/android_kernel_m2note/commit/?id=bbdb7dc21bb91b81d56a566eb43c9dccdf17ed01'/>
<id>urn:sha1:bbdb7dc21bb91b81d56a566eb43c9dccdf17ed01</id>
<content type='text'>
The 'll_rw_block' has been deprecated and BIO is now the basic container
for block I/O within the kernel.

Switching to BIO offers 2 advantages:
  1/ It removes synchronous wait for the up-to-date buffers: SquashFS
     now deals with decompressions/copies asynchronously.
     Implementing an asynchronous mechanism to read data is needed to
     efficiently implement .readpages().
  2/ Prior to this patch, merging the read requests entirely depends on
     the IO scheduler. SquashFS has more information than the IO
     scheduler about what could be merged. Moreover, merging the reads
     at the FS level means that we rely less on the IO scheduler.

Signed-off-by: Adrien Schildknecht &lt;adriens@google.com&gt;
Change-Id: I98cf130f1977d396cdeb1f0617425e208b7d0214
</content>
</entry>
<entry>
<title>Squashfs: refactor page_actor</title>
<updated>2017-04-11T09:00:20+00:00</updated>
<author>
<name>Adrien Schildknecht</name>
<email>adriens@google.com</email>
</author>
<published>2016-11-07T20:19:01+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/android_kernel_m2note/commit/?id=d5a8d9dadae88f0bc4623dfc724c451b8417885a'/>
<id>urn:sha1:d5a8d9dadae88f0bc4623dfc724c451b8417885a</id>
<content type='text'>
This patch essentially does 3 things:
  1/ Always use an array of page to store the data instead of a mix of
     buffers and pages.
  2/ It is now possible to have 'holes' in a page actor, i.e. NULL
     pages in the array.
     When reading a block (default 128K), squashfs tries to grab all
     the pages covering this block. If a single page is up-to-date or
     locked, it falls back to using an intermediate buffer to do the
     read and then copy the pages in the actor. Allowing holes in the
     page actor remove the need for this intermediate buffer.
  3/ Refactor the wrappers to share code that deals with page actors.

Signed-off-by: Adrien Schildknecht &lt;adriens@google.com&gt;
Change-Id: I73f736611766962857c423320478af8cfab8df38
</content>
</entry>
<entry>
<title>Squashfs: remove the FILE_CACHE option</title>
<updated>2017-04-11T09:00:20+00:00</updated>
<author>
<name>Adrien Schildknecht</name>
<email>adriens@google.com</email>
</author>
<published>2016-11-07T20:12:11+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/android_kernel_m2note/commit/?id=9ce1af5f55bdc1310e34e0c5653354b2af042201'/>
<id>urn:sha1:9ce1af5f55bdc1310e34e0c5653354b2af042201</id>
<content type='text'>
FILE_DIRECT is working fine and offers faster results and lower memory
footprint.

Removing FILE_CACHE makes our life easier because we don't have to
maintain 2 differents function that does the same thing.

Signed-off-by: Adrien Schildknecht &lt;adriens@google.com&gt;
Change-Id: I3e68dda86fc5d6e67b7e31635974201948e3c4a7
</content>
</entry>
<entry>
<title>Squashfs: Add LZ4 compression configuration option</title>
<updated>2017-04-11T09:00:19+00:00</updated>
<author>
<name>Phillip Lougher</name>
<email>phillip@squashfs.org.uk</email>
</author>
<published>2014-11-27T18:48:44+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/android_kernel_m2note/commit/?id=fa5446ff59a31cbd994ded83a560b1b325ce24bd'/>
<id>urn:sha1:fa5446ff59a31cbd994ded83a560b1b325ce24bd</id>
<content type='text'>
Add the glue code, and also update the documentation.

Signed-off-by: Phillip Lougher &lt;phillip@squashfs.org.uk&gt;
Change-Id: I47b7b1777547d48f6924e6bd2be3d865b438b617
</content>
</entry>
</feed>
