diff options
| author | Linus Torvalds <[email protected]> | 2023-06-26 12:47:20 -0700 | 
|---|---|---|
| committer | Linus Torvalds <[email protected]> | 2023-06-26 12:47:20 -0700 | 
| commit | a0433f8cae3ac51f59b4b1863032822aaa2d8164 (patch) | |
| tree | 9eb7b096aa9f7fa53921e6ff247488f3a55471f5 /fs/btrfs/dev-replace.c | |
| parent | 0aa69d53ac7c30f6184f88f2e310d808b32b35a5 (diff) | |
| parent | fcaa174a9c995cf0af3967e55644a1543ea07e36 (diff) | |
Merge tag 'for-6.5/block-2023-06-23' of git://git.kernel.dk/linux
Pull block updates from Jens Axboe:
 - NVMe pull request via Keith:
      - Various cleanups all around (Irvin, Chaitanya, Christophe)
      - Better struct packing (Christophe JAILLET)
      - Reduce controller error logs for optional commands (Keith)
      - Support for >=64KiB block sizes (Daniel Gomez)
      - Fabrics fixes and code organization (Max, Chaitanya, Daniel
        Wagner)
 - bcache updates via Coly:
      - Fix a race at init time (Mingzhe Zou)
      - Misc fixes and cleanups (Andrea, Thomas, Zheng, Ye)
 - use page pinning in the block layer for dio (David)
 - convert old block dio code to page pinning (David, Christoph)
 - cleanups for pktcdvd (Andy)
 - cleanups for rnbd (Guoqing)
 - use the unchecked __bio_add_page() for the initial single page
   additions (Johannes)
 - fix overflows in the Amiga partition handling code (Michael)
 - improve mq-deadline zoned device support (Bart)
 - keep passthrough requests out of the IO schedulers (Christoph, Ming)
 - improve support for flush requests, making them less special to deal
   with (Christoph)
 - add bdev holder ops and shutdown methods (Christoph)
 - fix the name_to_dev_t() situation and use cases (Christoph)
 - decouple the block open flags from fmode_t (Christoph)
 - ublk updates and cleanups, including adding user copy support (Ming)
 - BFQ sanity checking (Bart)
 - convert brd from radix to xarray (Pankaj)
 - constify various structures (Thomas, Ivan)
 - more fine grained persistent reservation ioctl capability checks
   (Jingbo)
 - misc fixes and cleanups (Arnd, Azeem, Demi, Ed, Hengqi, Hou, Jan,
   Jordy, Li, Min, Yu, Zhong, Waiman)
* tag 'for-6.5/block-2023-06-23' of git://git.kernel.dk/linux: (266 commits)
  scsi/sg: don't grab scsi host module reference
  ext4: Fix warning in blkdev_put()
  block: don't return -EINVAL for not found names in devt_from_devname
  cdrom: Fix spectre-v1 gadget
  block: Improve kernel-doc headers
  blk-mq: don't insert passthrough request into sw queue
  bsg: make bsg_class a static const structure
  ublk: make ublk_chr_class a static const structure
  aoe: make aoe_class a static const structure
  block/rnbd: make all 'class' structures const
  block: fix the exclusive open mask in disk_scan_partitions
  block: add overflow checks for Amiga partition support
  block: change all __u32 annotations to __be32 in affs_hardblocks.h
  block: fix signed int overflow in Amiga partition support
  block: add capacity validation in bdev_add_partition()
  block: fine-granular CAP_SYS_ADMIN for Persistent Reservation
  block: disallow Persistent Reservation on partitions
  reiserfs: fix blkdev_put() warning from release_journal_dev()
  block: fix wrong mode for blkdev_get_by_dev() from disk_scan_partitions()
  block: document the holder argument to blkdev_get_by_path
  ...
Diffstat (limited to 'fs/btrfs/dev-replace.c')
| -rw-r--r-- | fs/btrfs/dev-replace.c | 8 | 
1 files changed, 4 insertions, 4 deletions
| diff --git a/fs/btrfs/dev-replace.c b/fs/btrfs/dev-replace.c index 5e86bea0a950..5f10965fd72b 100644 --- a/fs/btrfs/dev-replace.c +++ b/fs/btrfs/dev-replace.c @@ -257,8 +257,8 @@ static int btrfs_init_dev_replace_tgtdev(struct btrfs_fs_info *fs_info,  		return -EINVAL;  	} -	bdev = blkdev_get_by_path(device_path, FMODE_WRITE | FMODE_EXCL, -				  fs_info->bdev_holder); +	bdev = blkdev_get_by_path(device_path, BLK_OPEN_WRITE, +				  fs_info->bdev_holder, NULL);  	if (IS_ERR(bdev)) {  		btrfs_err(fs_info, "target device %s is invalid!", device_path);  		return PTR_ERR(bdev); @@ -315,7 +315,7 @@ static int btrfs_init_dev_replace_tgtdev(struct btrfs_fs_info *fs_info,  	device->bdev = bdev;  	set_bit(BTRFS_DEV_STATE_IN_FS_METADATA, &device->dev_state);  	set_bit(BTRFS_DEV_STATE_REPLACE_TGT, &device->dev_state); -	device->mode = FMODE_EXCL; +	device->holder = fs_info->bdev_holder;  	device->dev_stats_valid = 1;  	set_blocksize(device->bdev, BTRFS_BDEV_BLOCKSIZE);  	device->fs_devices = fs_devices; @@ -334,7 +334,7 @@ static int btrfs_init_dev_replace_tgtdev(struct btrfs_fs_info *fs_info,  	return 0;  error: -	blkdev_put(bdev, FMODE_EXCL); +	blkdev_put(bdev, fs_info->bdev_holder);  	return ret;  } |