2008-02-08 02:47:21

by Alasdair G Kergon

[permalink] [raw]
Subject: [git pull] device-mapper update for 2.6.25

Please pull from:

master.kernel.org:/pub/scm/linux/kernel/git/agk/linux-2.6-dm.git

to get the following device-mapper update for 2.6.25:

Alasdair G Kergon (5):
dm: mark function lists static
dm ioctl: remove lock_kernel
dm: targets no longer experimental
dm mpath: add missing static
dm crypt: move queue functions

Andrew Morton (3):
dm snapshot: use uninitialized_var
dm: table use uninitialized_var
dm ioctl: use uninitialized_var

Brian Wood (2):
dm: stripe trigger event on failure
dm: stripe enhanced status return

Daniel Walker (1):
dm: convert suspend_lock semaphore to mutex

Jonathan Brassow (6):
dm log: auto load modules
dm raid1: handle write failures
dm raid1: handle recovery failures
dm raid1: fix EIO after log failure
dm raid1: handle read failures
dm raid1: report fault status

Jun'ichi Nomura (1):
dm: table remove unused total

Milan Broz (23):
dm: add missing memory barrier to dm_suspend
dm ioctl: move compat code
dm: tidy alloc_dev labels
dm: refactor deferred bio_list processing
dm: tidy dm_suspend
dm: split dm_suspend io_lock hold into two
dm: refactor dm_suspend completion wait
dm crypt: move convert_context inside dm_crypt_io
dm crypt: remove unnecessary crypt_context write parm
dm crypt: move error setting outside crypt_dec_pending
dm crypt: tidy crypt_endio
dm crypt: adjust io processing functions
dm crypt: store sector mapping in dm_crypt_io
dm crypt: abstract crypt_write_done
dm crypt: introduce crypt_write_io_loop
dm crypt: tidy io ref counting
dm crypt: extract scatterlist processing
dm crypt: add async request mempool
dm crypt: add completion for async
dm crypt: prepare async callback fn
dm crypt: use async crypto
dm: move deferred bio flushing to workqueue
dm snapshot: combine consecutive exceptions in memory

Paul Jimenez (1):
dm: table use list_for_each

Robert P. J. Day (1):
dm snapshot: use rounddown_pow_of_two

Vasily Averin (1):
dm: table remove unused variable

drivers/md/Kconfig | 24 +-
drivers/md/dm-crypt.c | 486 +++++++++++++++++++----------
drivers/md/dm-exception-store.c | 2 +-
drivers/md/dm-ioctl.c | 32 ++-
drivers/md/dm-log.c | 51 +++-
drivers/md/dm-mpath.c | 2 +-
drivers/md/dm-raid1.c | 664 +++++++++++++++++++++++++++++++++-----
drivers/md/dm-snap.c | 95 ++++--
drivers/md/dm-snap.h | 50 +++-
drivers/md/dm-stripe.c | 105 ++++++-
drivers/md/dm-table.c | 20 +-
drivers/md/dm.c | 238 +++++++++------
fs/compat_ioctl.c | 34 --
include/linux/device-mapper.h | 18 +-
include/linux/dm-ioctl.h | 34 +--
15 files changed, 1372 insertions(+), 483 deletions(-)

Alasdair
--
[email protected]


2008-02-08 03:07:58

by Andrew Morton

[permalink] [raw]
Subject: Re: [git pull] device-mapper update for 2.6.25

On Fri, 8 Feb 2008 02:45:32 +0000 Alasdair G Kergon <[email protected]> wrote:

> dm: move deferred bio flushing to workqueue

To my unpracticed eye this one looks fairly fundamental. Unfortunately the
changelog:

Add a single-thread workqueue for each mapped device and move flushing
of the lists of pushback and deferred bios to this new workqueue.

tells us nothing of the reasons for this change. (It should have done so!)

It _looks_ pretty unscalable. Perhaps these deferred BIOs don't happen
very often?

2008-02-08 03:26:12

by Alasdair G Kergon

[permalink] [raw]
Subject: Re: [git pull] device-mapper update for 2.6.25

On Thu, Feb 07, 2008 at 07:04:47PM -0800, Andrew Morton wrote:
> On Fri, 8 Feb 2008 02:45:32 +0000 Alasdair G Kergon <[email protected]> wrote:
>
> > dm: move deferred bio flushing to workqueue
>
> To my unpracticed eye this one looks fairly fundamental. Unfortunately the
> changelog:
>
> Add a single-thread workqueue for each mapped device and move flushing
> of the lists of pushback and deferred bios to this new workqueue.
>
> tells us nothing of the reasons for this change. (It should have done so!)
>
> It _looks_ pretty unscalable. Perhaps these deferred BIOs don't happen
> very often?

Indeed - it's a rare occurrence - happens when the dm device is
suspended/resumed which usually means it was being reconfigured by something in
userspace.

It's the first patch of a series that will provide barrier support (slated for
2.6.26).

The appearance of all these workqueues in dm goes back to this old change:
md-dm-reduce-stack-usage-with-stacked-block-devices.patch

Alasdair
--
[email protected]