]> git.baikalelectronics.ru Git - kernel.git/commit
md: initialise ->writes_pending in personality modules.
authorNeilBrown <neilb@suse.com>
Mon, 5 Jun 2017 06:05:13 +0000 (16:05 +1000)
committerShaohua Li <shli@fb.com>
Mon, 5 Jun 2017 23:04:35 +0000 (16:04 -0700)
commitee3b38c2f0eb44f7a011692301341d3580d28657
treeb54d1e13bae320a52efe48d316c5e10ae0ee53dd
parente9e02ea9c2ec5186bb77a8d5bc3b7bee407a45bb
md: initialise ->writes_pending in personality modules.

The new per-cpu counter for writes_pending is initialised in
md_alloc(), which is not called by dm-raid.
So dm-raid fails when md_write_start() is called.

Move the initialization to the personality modules
that need it.  This way it is always initialised when needed,
but isn't unnecessarily initialized (requiring memory allocation)
when the personality doesn't use writes_pending.

Reported-by: Heinz Mauelshagen <heinzm@redhat.com>
Fixes: 82bf7f4c5ced ("MD: use per-cpu counter for writes_pending")
Signed-off-by: NeilBrown <neilb@suse.com>
Signed-off-by: Shaohua Li <shli@fb.com>
drivers/md/md.c
drivers/md/md.h
drivers/md/raid1.c
drivers/md/raid10.c
drivers/md/raid5.c