Go to file
Jan Kara f44f1ab5a2 block: Unhash block device inodes on gendisk destruction
Currently, block device inodes stay around after corresponding gendisk
hash died until memory reclaim finds them and frees them. Since we will
make block device inode pin the bdi, we want to free the block device
inode as soon as the device goes away so that bdi does not stay around
unnecessarily. Furthermore we need to avoid issues when new device with
the same major,minor pair gets created since reusing the bdi structure
would be rather difficult in this case.

Unhashing block device inode on gendisk destruction nicely deals with
these problems. Once last block device inode reference is dropped (which
may be directly in del_gendisk()), the inode gets evicted. Furthermore if
the major,minor pair gets reallocated, we are guaranteed to get new
block device inode even if old block device inode is not yet evicted and
thus we avoid issues with possible reuse of bdi.

Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Jens Axboe <axboe@fb.com>
2017-02-02 08:18:41 -07:00
Documentation spi: Fixes for v4.10 2017-01-20 12:25:11 -08:00
arch Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2017-01-22 12:47:48 -08:00
block block: Unhash block device inodes on gendisk destruction 2017-02-02 08:18:41 -07:00
certs
crypto
drivers nbd: use an idr to keep track of nbd devices 2017-02-01 16:28:08 -07:00
firmware
fs block: Unhash block device inodes on gendisk destruction 2017-02-02 08:18:41 -07:00
include block: Unhash block device inodes on gendisk destruction 2017-02-02 08:18:41 -07:00
init
ipc
kernel block: introduce blk_rq_is_passthrough 2017-01-31 14:00:34 -07:00
lib Merge branch 'for-4.11/block' into for-4.11/rq-refactor 2017-01-27 15:08:31 -07:00
mm
net Three filesystem endianness fixes (one goes back to the 2.6 era, all 2017-01-20 12:15:48 -08:00
samples
scripts
security
sound
tools virtio, vhost: fixes, cleanups 2017-01-22 12:40:09 -08:00
usr
virt
.cocciconfig
.get_maintainer.ignore
.gitattributes
.gitignore
.mailmap
COPYING
CREDITS
Kbuild
Kconfig
MAINTAINERS Merge branch 'for-4.11/block' into for-4.11/rq-refactor 2017-01-27 15:08:31 -07:00
Makefile Linux 4.10-rc5 2017-01-22 12:54:15 -08:00
README

README

Linux kernel
============

This file was moved to Documentation/admin-guide/README.rst

Please notice that there are several guides for kernel developers and users.
These guides can be rendered in a number of formats, like HTML and PDF.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.

There are various text files in the Documentation/ subdirectory,
several of them using the Restructured Text markup notation.
See Documentation/00-INDEX for a list of what is contained in each file.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.