This patchset continues with the work posted earlier at
http://www.mail-archive.com/linux-btrfs@vger.kernel.org/msg32143.html. The
following are the high level changes brought in by this patchset:
1. Rewrite 'extent buffer' handling code to incorporate comments posted to
   Chandra Seetharaman's patchset
   <http://www.mail-archive.com/linux-btrfs@vger.kernel.org/msg29534.html>.
2. Compute and look up checksums for data extents in sectorsize units.

Xfstests' generic tests were run on an x86_64 machine with the patches
applied.

On multiple runs of the tests with 4k blocksize, 'umount' process would
sometimes get blocked indefinitely causing 'hung task detector' to print the
function call trace. Also, there are occasional instances where warning
messages from btree_invalidatepage() is being printed to indicate that
PG_private flag of a page is still set.

For 2k blocksize only a few Xfstests' generic tests pass.

The following is a list of known TODO items which will be implemented in
future revisions of this patchset:
1. Create separate slab caches for 'extent buffer head' and 'extent buffer'.
2. Add 'leak list' tracking for 'extent buffer' instances.
3. Rename EXTENT_BUFFER_TREE_REF and EXTENT_BUFFER_IN_TREE to
   EXTENT_BUFFER_HEAD_TREE_REF and EXTENT_BUFFER_HEAD_IN_TREE respectively.
4. Remove usage of bvec->{bv_offset, bv_len} from end_bio_extent_readpage()
   end_bio_extent_writepage() and btrfs_csum_one_bio.
5. Get Xfstests' generic tests to successfully run on both 4k and 2k
   blocksizes.

Chandan Rajendra (6):
  Btrfs: subpagesize-blocksize: Get rid of whole page reads.
  Btrfs: subpagesize-blocksize: Get rid of whole page writes.
  Btrfs: subpagesize-blocksize: __btrfs_buffered_write: Reserve/release
    extents aligned to block size.
  Btrfs: subpagesize-blocksize: Read tree blocks whose size is
    <PAGE_CACHE_SIZE.
  Btrfs: subpagesize-blocksize: Write only dirty extent buffers
    belonging to a page
  Btrfs: subpagesize-blocksize: Compute and look up csums based on
    sectorsized blocks.

Chandra Seetharaman (2):
  Btrfs: subpagesize-blocksize: Define extent_buffer_head.
  Btrfs: subpagesize-blocksize: Allow mounting filesystems where
    sectorsize != PAGE_SIZE

 fs/btrfs/backref.c           |   2 +-
 fs/btrfs/ctree.c             |   2 +-
 fs/btrfs/ctree.h             |   6 +-
 fs/btrfs/disk-io.c           | 117 +++---
 fs/btrfs/disk-io.h           |   3 +
 fs/btrfs/extent-tree.c       |   6 +-
 fs/btrfs/extent_io.c         | 980 +++++++++++++++++++++++++++++++++----------
 fs/btrfs/extent_io.h         |  46 +-
 fs/btrfs/file-item.c         |  85 ++--
 fs/btrfs/file.c              |  32 +-
 fs/btrfs/inode.c             |  24 +-
 fs/btrfs/volumes.c           |   2 +-
 fs/btrfs/volumes.h           |   3 +
 include/trace/events/btrfs.h |   2 +-
 14 files changed, 947 insertions(+), 363 deletions(-)

-- 
1.8.3.1

--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to