Squashfs: replace buffer_head with BIO
authorAdrien Schildknecht <adriens@google.com>
Mon, 7 Nov 2016 20:37:55 +0000 (12:37 -0800)
committerAmit Pundir <amit.pundir@linaro.org>
Mon, 10 Apr 2017 07:42:16 +0000 (13:12 +0530)
commit832771453f05c0eab9e3659d2085aff808f88e6a
treebe48df82644801b5f878d21ecce574aa1cbff578
parent4bc7d97903d6dc4c6baedda07608b41481140761
Squashfs: replace buffer_head with BIO

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 <adriens@google.com>
Change-Id: I775d2e11f017476e1899518ab52d9d0a8a0bce28
fs/squashfs/block.c
fs/squashfs/file_direct.c
fs/squashfs/squashfs.h
fs/squashfs/super.c