mbox series

[00/25] bcache patches for Linux v5.9

Message ID 20200725120039.91071-1-colyli@suse.de
Headers show
Series bcache patches for Linux v5.9 | expand

Message

Coly Li July 25, 2020, noon UTC
Hi Jens,

This is the first wave bcache series for Linux v5.9.

The most part of change is to add large_bucket size support to bcache,
which permits user to extend the bucket size from 16bit to 32bit width.
This is the initial state of large bucket feature, more improvement will
happen in future versions.

Most of the patches from me are for the large_bucket feature, except for,
- The fix for stripe size overflow
   bcache: avoid nr_stripes overflow in bcache_device_init()
   bcache: fix overflow in offset_to_stripe()
- The fix to I/O account on wrong device
   bcache: fix bio_{start,end}_io_acct with proper device

Also we have Gustavo A. R. Silva to contribute 2 patches to cleanup
kzalloc() code by using struct_size(), Jean Delvare to contribute a
typo fix in bcache Kconfig file, and Xu Wang to contribute two code
cleanup patches.

Please take them for your Linux v5.9 block drivers branch.

Thank you in advance.

Coly Li
---

Coly Li (20):
  bcache: allocate meta data pages as compound pages
  bcache: avoid nr_stripes overflow in bcache_device_init()
  bcache: fix overflow in offset_to_stripe()
  bcache: add read_super_common() to read major part of super block
  bcache: add more accurate error information in read_super_common()
  bcache: disassemble the big if() checks in bch_cache_set_alloc()
  bcache: fix super block seq numbers comparision in
    register_cache_set()
  bcache: increase super block version for cache device and backing
    device
  bcache: move bucket related code into read_super_common()
  bcache: struct cache_sb is only for in-memory super block now
  bcache: introduce meta_bucket_pages() related helper routines
  bcache: handle c->uuids properly for bucket size > 8MB
  bcache: handle cache prio_buckets and disk_buckets properly for bucket
    size > 8MB
  bcache: handle cache set verify_ondisk properly for bucket size > 8MB
  bcache: handle btree node memory allocation properly for bucket size >
    8MB
  bcache: add bucket_size_hi into struct cache_sb_disk for large bucket
  bcache: add sysfs file to display feature sets information of cache
    set
  bcache: avoid extra memory allocation from mempool c->fill_iter
  bcache: avoid extra memory consumption in struct bbio for large bucket
    size
  bcache: fix bio_{start,end}_io_acct with proper device

Gustavo A. R. Silva (2):
  bcache: movinggc: Use struct_size() helper in kzalloc()
  bcache: Use struct_size() in kzalloc()

Jean Delvare (1):
  bcache: Fix typo in Kconfig name

Xu Wang (2):
  bcache: journel: use for_each_clear_bit() to simplify the code
  bcache: writeback: Remove unneeded variable i

 drivers/md/bcache/Kconfig     |   2 +-
 drivers/md/bcache/Makefile    |   2 +-
 drivers/md/bcache/alloc.c     |   2 +-
 drivers/md/bcache/bcache.h    |  31 +++-
 drivers/md/bcache/bset.c      |   2 +-
 drivers/md/bcache/btree.c     |  12 +-
 drivers/md/bcache/features.c  |  75 +++++++++
 drivers/md/bcache/features.h  |  86 +++++++++++
 drivers/md/bcache/io.c        |   2 +-
 drivers/md/bcache/journal.c   |   9 +-
 drivers/md/bcache/movinggc.c  |   8 +-
 drivers/md/bcache/request.c   |  31 +++-
 drivers/md/bcache/super.c     | 277 +++++++++++++++++++++++-----------
 drivers/md/bcache/sysfs.c     |  14 ++
 drivers/md/bcache/writeback.c |  22 +--
 drivers/md/bcache/writeback.h |  19 ++-
 include/uapi/linux/bcache.h   |  38 +++--
 17 files changed, 493 insertions(+), 139 deletions(-)
 create mode 100644 drivers/md/bcache/features.c
 create mode 100644 drivers/md/bcache/features.h

Comments

Jens Axboe July 25, 2020, 1:39 p.m. UTC | #1
On 7/25/20 6:00 AM, Coly Li wrote:
> Hi Jens,
> 
> This is the first wave bcache series for Linux v5.9.
> 
> The most part of change is to add large_bucket size support to bcache,
> which permits user to extend the bucket size from 16bit to 32bit width.
> This is the initial state of large bucket feature, more improvement will
> happen in future versions.
> 
> Most of the patches from me are for the large_bucket feature, except for,
> - The fix for stripe size overflow
>    bcache: avoid nr_stripes overflow in bcache_device_init()
>    bcache: fix overflow in offset_to_stripe()
> - The fix to I/O account on wrong device
>    bcache: fix bio_{start,end}_io_acct with proper device
> 
> Also we have Gustavo A. R. Silva to contribute 2 patches to cleanup
> kzalloc() code by using struct_size(), Jean Delvare to contribute a
> typo fix in bcache Kconfig file, and Xu Wang to contribute two code
> cleanup patches.
> 
> Please take them for your Linux v5.9 block drivers branch.

Thanks, applied.
Christoph Hellwig July 28, 2020, 12:14 p.m. UTC | #2
On Sat, Jul 25, 2020 at 07:39:00AM -0600, Jens Axboe wrote:
> > Please take them for your Linux v5.9 block drivers branch.
> 
> Thanks, applied.

Can you please revert "cache: fix bio_{start,end}_io_acct with proper
device" again?  It really is a gross hack making things worse rather
than better.
Coly Li July 28, 2020, 12:40 p.m. UTC | #3
On 2020/7/28 20:14, Christoph Hellwig wrote:
> On Sat, Jul 25, 2020 at 07:39:00AM -0600, Jens Axboe wrote:
>>> Please take them for your Linux v5.9 block drivers branch.
>>
>> Thanks, applied.
> 
> Can you please revert "cache: fix bio_{start,end}_io_acct with proper
> device" again?  It really is a gross hack making things worse rather
> than better.
> 

Hi Christoph and Jens,

My plan was to submit another fix to current fix. If you plan to revert
the original fix, it is OK to me, just generate the patch on different
code base.

Thanks.

Coly Li
Christoph Hellwig July 28, 2020, 12:41 p.m. UTC | #4
On Tue, Jul 28, 2020 at 08:40:16PM +0800, Coly Li wrote:
> On 2020/7/28 20:14, Christoph Hellwig wrote:
> > On Sat, Jul 25, 2020 at 07:39:00AM -0600, Jens Axboe wrote:
> >>> Please take them for your Linux v5.9 block drivers branch.
> >>
> >> Thanks, applied.
> > 
> > Can you please revert "cache: fix bio_{start,end}_io_acct with proper
> > device" again?  It really is a gross hack making things worse rather
> > than better.
> > 
> 
> Hi Christoph and Jens,
> 
> My plan was to submit another fix to current fix. If you plan to revert
> the original fix, it is OK to me, just generate the patch on different
> code base.

Let's get the fixup out ASAP then..
Jens Axboe July 28, 2020, 3:13 p.m. UTC | #5
On 7/28/20 6:40 AM, Coly Li wrote:
> On 2020/7/28 20:14, Christoph Hellwig wrote:
>> On Sat, Jul 25, 2020 at 07:39:00AM -0600, Jens Axboe wrote:
>>>> Please take them for your Linux v5.9 block drivers branch.
>>>
>>> Thanks, applied.
>>
>> Can you please revert "cache: fix bio_{start,end}_io_acct with proper
>> device" again?  It really is a gross hack making things worse rather
>> than better.
>>
> 
> Hi Christoph and Jens,
> 
> My plan was to submit another fix to current fix. If you plan to revert
> the original fix, it is OK to me, just generate the patch on different
> code base.

That's fine, just do an incremental so we avoid having a revert.