Linux block layer
 help / color / mirror / Atom feed
* [PATCH 0/4 RFC] BDI lifetime fix
@ 2017-01-26 17:45 Jan Kara
  2017-01-26 17:45 ` [PATCH 1/4] block: Unhash block device inodes on gendisk destruction Jan Kara
                   ` (4 more replies)
  0 siblings, 5 replies; 12+ messages in thread
From: Jan Kara @ 2017-01-26 17:45 UTC (permalink / raw)
  To: linux-block
  Cc: Christoph Hellwig, Jens Axboe, Dan Williams,
	Thiago Jung Bauermann, Laurent Dufour, Jan Kara

Hello,

this patch series attempts to solve the problems with the life time of a
backing_dev_info structure. Currently it lives inside request_queue structure
and thus it gets destroyed as soon as request queue goes away. However
the block device inode still stays around and thus inode_to_bdi() call on
that inode (e.g. from flusher worker) may happen after request queue has been
destroyed resulting in oops.

This patch set tries to solve these problems by making backing_dev_info
independent structure referenced from block device inode. That makes sure
inode_to_bdi() cannot ever oops. The patches are lightly tested for now
(they boot, basic tests with adding & removing loop devices seem to do what
I'd expect them to do ;). If someone is able to reproduce crashes on bdi
when device goes away, please test these patches.

I'd also appreciate if people had a look whether the approach I took looks
sensible.

								Honza

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

end of thread, other threads:[~2017-01-31 11:20 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-01-26 17:45 [PATCH 0/4 RFC] BDI lifetime fix Jan Kara
2017-01-26 17:45 ` [PATCH 1/4] block: Unhash block device inodes on gendisk destruction Jan Kara
2017-01-26 17:45 ` [PATCH 2/4] block: Use pointer to backing_dev_info from request_queue Jan Kara
2017-01-26 17:45 ` [PATCH 3/4] block: Dynamically allocate and refcount backing_dev_info Jan Kara
2017-01-26 20:41   ` Dan Williams
2017-01-30 12:47     ` Jan Kara
2017-01-26 17:45 ` [PATCH 4/4] block: Make blk_get_backing_dev_info() safe without open bdev Jan Kara
2017-01-27  6:15 ` [PATCH 0/4 RFC] BDI lifetime fix Dan Williams
2017-01-27 19:49   ` Omar Sandoval
2017-01-30 17:19   ` Jan Kara
2017-01-30 17:27     ` Dan Williams
2017-01-31 11:20   ` Jan Kara

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox