Files
linux/fs
Mark Harmstone 7b478122cd btrfs: don't allow adding block device of less than 1 MB
[ Upstream commit 3d1267475b ]

Commit 15ae0410c37a79 ("btrfs-progs: add error handling for
device_get_partition_size_fd_stat()") in btrfs-progs inadvertently
changed it so that if the BLKGETSIZE64 ioctl on a block device returned
a size of 0, this was no longer seen as an error condition.

Unfortunately this is how disconnected NBD devices behave, meaning that
with btrfs-progs 6.16 it's now possible to add a device you can't
remove:

  # btrfs device add /dev/nbd0 /root/temp
  # btrfs device remove /dev/nbd0 /root/temp
  ERROR: error removing device '/dev/nbd0': Invalid argument

This check should always have been done kernel-side anyway, so add a
check in btrfs_init_new_device() that the new device doesn't have a size
less than BTRFS_DEVICE_RANGE_RESERVED (i.e. 1 MB).

Reviewed-by: Qu Wenruo <wqu@suse.com>
Signed-off-by: Mark Harmstone <mark@harmstone.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2025-10-02 13:44:08 +02:00
..
2025-06-19 15:32:36 +02:00
2025-07-10 16:05:08 +02:00
2024-10-17 00:28:06 -07:00
2025-01-23 17:22:55 +01:00
2024-08-21 22:32:58 +02:00
2025-08-20 18:30:20 +02:00
2025-03-22 12:54:15 -07:00
2024-12-05 14:02:47 +01:00
2025-07-10 16:05:08 +02:00
2024-08-28 13:05:39 +02:00
2025-01-17 13:40:50 +01:00
2024-09-27 08:18:43 -07:00
2024-09-27 08:18:43 -07:00
2025-06-27 11:11:36 +01:00