linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/6] block: reread partitions changes and fix for loop
@ 2015-04-05  7:24 Ming Lei
  2015-04-05  7:24 ` [PATCH 1/6] block: export blkdev_reread_part() Ming Lei
                   ` (6 more replies)
  0 siblings, 7 replies; 37+ messages in thread
From: Ming Lei @ 2015-04-05  7:24 UTC (permalink / raw)
  To: Jens Axboe, linux-kernel, Christoph Hellwig, Tejun Heo
  Cc: Andrew Morton, Alexander Viro, Jarod Wilson, David Herrmann,
	Markus Pargmann, nbd-general, Stefan Haberland, Sebastian Ott,
	Fabian Frederick, linux-s390

Recently there are several reports about loop partition scanning
failure[1][2].

For loop, the root cause is one ABBA and one AA lock dependency
issue, and the two are fixed by patch 2 and patch 3 each.

Another reason is from the trylock in blkdev_reread_part(), which
may cause partition scanning failure too sometimes when another task
is holding the bd_mutex. In the discussion[1], both Tejun and Christoph
suggests to replace the trylock with mutex_lock in blkdev_reread_part(),
also Christoph suggests to export blkdev_reread_part.

Following the discussion, this patchset exports blkdev_reread_part(), and
introduces blkdev_reread_part_nolock() for fixing loop's AA lock issue.
Then ioctl_by_bdev(BLKRRPART) in loop, nbd and dasd is replaced with
blkdev_reread_part(). In the last patch, trylock in __blkdev_reread_part()
is replaced with mutex_lock, and some analysis is provided about the conversion.


[1], https://lkml.org/lkml/2015/1/26/137
[2], https://lkml.org/lkml/2015/3/31/888

Thanks,
Ming Lei


^ permalink raw reply	[flat|nested] 37+ messages in thread

end of thread, other threads:[~2015-04-08 15:29 UTC | newest]

Thread overview: 37+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-04-05  7:24 [PATCH 0/6] block: reread partitions changes and fix for loop Ming Lei
2015-04-05  7:24 ` [PATCH 1/6] block: export blkdev_reread_part() Ming Lei
2015-04-05 16:12   ` Christoph Hellwig
2015-04-05 16:40     ` Ming Lei
2015-04-06 13:42       ` Jarod Wilson
2015-04-06 13:48         ` Jarod Wilson
2015-04-07  2:43         ` Ming Lei
2015-04-06 14:50       ` Christoph Hellwig
2015-04-07  2:11         ` Ming Lei
2015-04-05  7:24 ` [PATCH 2/6] block: loop: don't hold lo_ctl_mutex in lo_open Ming Lei
2015-04-05 16:28   ` Ming Lei
2015-04-06 14:49     ` Christoph Hellwig
2015-04-05  7:24 ` [PATCH 3/6] block: loop: fix another reread part failure Ming Lei
2015-04-05  7:24 ` [PATCH 4/6] block: nbd: convert to blkdev_reread_part() Ming Lei
2015-04-05  7:24 ` [PATCH 5/6] block: dasd_genhd: convert to blkdev_reread_part Ming Lei
2015-04-06 13:46   ` Jarod Wilson
2015-04-06 13:51     ` Jarod Wilson
2015-04-07  1:59       ` Ming Lei
2015-04-07  0:47     ` Ming Lei
2015-04-05  7:24 ` [RFC PATCH 6/6] block: replace trylock with mutex_lock in __blkdev_reread_part() Ming Lei
2015-04-08  6:23 ` [PATCH 0/7] block: reread partitions improvements Jarod Wilson
2015-04-08  6:23   ` [PATCH 1/7] block: export blkdev_reread_part() and __blkdev_reread_part() Jarod Wilson
2015-04-08 14:50     ` Ming Lei
2015-04-08 15:03       ` Peter Zijlstra
2015-04-08 15:27         ` Jarod Wilson
2015-04-08 15:28         ` Ming Lei
2015-04-08  6:23   ` [PATCH 2/7] block: loop: don't hold lo_ctl_mutex in lo_open Jarod Wilson
2015-04-08  6:50     ` Ming Lei
2015-04-08 13:40       ` Jarod Wilson
2015-04-08 14:00         ` Jarod Wilson
2015-04-08 14:20           ` Ming Lei
2015-04-08 15:28             ` Jarod Wilson
2015-04-08  6:23   ` [PATCH 3/7] block: loop: fix another reread part failure Jarod Wilson
2015-04-08  6:23   ` [PATCH 4/7] block: nbd: convert to blkdev_reread_part() Jarod Wilson
2015-04-08  6:23   ` [PATCH 5/7] block: dasd_genhd: convert to blkdev_reread_part Jarod Wilson
2015-04-08  6:23   ` [PATCH 6/7] block: replace trylock with mutex_lock in blkdev_reread_part() Jarod Wilson
2015-04-08  6:23   ` [PATCH 7/7] s390/block/dasd: remove obsolete while -EBUSY loop Jarod Wilson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).