summaryrefslogtreecommitdiff
path: root/block/blk-merge.c
diff options
context:
space:
mode:
authorJan Kara <jack@suse.cz>2023-07-24 20:51:45 +0300
committerChristian Brauner <brauner@kernel.org>2023-08-10 11:34:56 +0300
commitaca740cecbe57b12bd9c1fc632092af5ebacda0c (patch)
treef428c673f3260b06ad92c897fe70bc81c4150a31 /block/blk-merge.c
parenta4f64a300a299f884a1da55d99c97a87061201cd (diff)
downloadlinux-aca740cecbe57b12bd9c1fc632092af5ebacda0c.tar.xz
fs: open block device after superblock creation
Currently get_tree_bdev and mount_bdev open the block device before committing to allocating a super block. That creates problems for restricting the number of writers to a device, and also leads to a unusual and not very helpful holder (the fs_type). Reorganize the super block code to first look whether the superblock for a particular device does already exist and open the block device only if it doesn't. [hch: port to before the bdev_handle changes, duplicate the bdev read-only check from blkdev_get_by_path, extend the fsfree_mutex coverage to protect against freezes, fix an open bdev leak when the bdev is frozen, use the bdev local variable more, rename the s variable to sb to be more descriptive] [brauner: remove references to mounts as they're mostly irrelevant] [brauner & hch: fold fixes for romfs and cramfs for syzbot+2faac0423fdc9692822b@syzkaller.appspotmail.com] Signed-off-by: Jan Kara <jack@suse.cz> Signed-off-by: Christoph Hellwig <hch@lst.de> Message-Id: <20230724175145.201318-1-hch@lst.de> Signed-off-by: Christian Brauner <brauner@kernel.org>
Diffstat (limited to 'block/blk-merge.c')
0 files changed, 0 insertions, 0 deletions