"btrfs filesystem show" shows wrong device
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
btrfs-tools (Ubuntu) |
New
|
Undecided
|
Unassigned |
Bug Description
I have created a RAID0 btrfs filesystem with:
root@toy02:~# mkfs.btrfs /dev/drbd2 /dev/drbd3
root@toy02:~# mount /dev/drbd2 /mnt/new
btrfs shows wrong (raw) device /dev/sdb instead of /dev/drbd2 :
root@toy02:~# df -T /mnt/new
Filesystem Type 1K-blocks Used Available Use% Mounted on
/dev/drbd2 btrfs 3906909856 9136960 3895627648 1% /mnt/new
root@toy02:~# btrfs filesystem show /mnt/new
Label: none uuid: 586a32eb-
Total devices 2 FS bytes used 8.70GiB
devid 1 size 1.82TiB used 6.03GiB path /dev/sdb
devid 2 size 1.82TiB used 6.03GiB path /dev/drbd3
Btrfs v3.12
root@toy02:~# lf sdb /dev
lRWX - 2015-07-24 09:07 /dev/block/8:16 -> ../sdb
lRWX - 2015-07-24 09:07 /dev/disk/
lRWX - 2015-07-24 09:07 /dev/disk/
lRWX - 2015-07-24 09:07 /dev/disk/
lRWX - 2015-07-24 09:07 /dev/disk/
bRW- 008,016 2015-07-24 09:07 /dev/sdb
root@toy02:~# lf drbd2 /dev
lRWX - 2015-07-23 18:50 /dev/block/147:2 -> ../drbd2
lRWX - 2015-07-23 18:50 /dev/drbd/
lRWX - 2015-07-23 18:50 /dev/drbd/
bRW- 147,002 2015-07-23 18:50 /dev/drbd2
root@toy02:~# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 14.04.2 LTS
Release: 14.04
Codename: trusty
root@toy02:~# dpkg -l | grep btrfs-tools
ii btrfs-tools 3.12-1 amd64 Checksumming Copy on Write Filesystem utilities
root@toy02:~# apt-cache policy btrfs-tools
btrfs-tools:
Installed: 3.12-1
Candidate: 3.12-1
Version table:
*** 3.12-1 0
500 http://
100 /var/lib/
Meanwhile I think this is a more deeper Linux bug, because...
This server has (besides some Seagates) 2 Hitachi (HGST) SATA disks, but
Linux shows 3 of them with 2 with the same serial number:
root@toy02:~# lsblk -o NAME,SIZE, FSTYPE, LABEL,MOUNTPOIN T
NAME SIZE FSTYPE LABEL MOUNTPOINT
sda 1.8T drbd
sdb 1.8T btrfs data
sdc 1.8T drbd
sdd 1.8T drbd
sde 1.8T drbd
sdf 68G
|-sdf1 14.9G ext4 /
|-sdf2 14.9G ext4
|-sdf3 14.9G swap swap [SWAP]
`-sdf4 23.3G ext4 tmp /tmp
sr0 1024M
drbd0 1.8T btrfs data
drbd1 1.8T
drbd2 1.8T btrfs data
drbd3 1.8T btrfs data
root@toy02:~# hdparm -I /dev/sdb| grep Number:
Model Number: HGST HUS724020ALA640
Serial Number: PN2134P5G2P2AX
root@toy02:~# hdparm -I /dev/sdd| grep Number:
Model Number: HGST HUS724020ALA640
Serial Number: PN2134P5G2P2XX
root@toy02:~# hdparm -I /dev/sde| grep Number:
Model Number: HGST HUS724020ALA640
Serial Number: PN2134P5G2P2AX
This is why btrfs gets confused:
root@toy02:~# btrfs_info
/data :
Data, RAID0: total=108.00GiB, used=107.55GiB
System, RAID1: total=32.00MiB, used=16.00KiB
Metadata, RAID1: total=1.00GiB, used=139.59MiB
Label: data uuid: 411af13f- 6cae-4f03- 99dc-5941acb313 5b
Total devices 3 FS bytes used 107.68GiB
devid 1 size 1.82TiB used 37.03GiB path /dev/drbd0
devid 3 size 1.82TiB used 36.03GiB path /dev/drbd2
devid 4 size 1.82TiB used 37.00GiB path /dev/sdb
/dev/sdb is WRONG, it should be /dev/drbd3, because I have expanded the
btrfs filesystem with:
root@toy02:~# btrfs device add -f /dev/drbd3 /data
More info:
root@toy02:~# lf drbd /dev by-disk/ disk/by- id/ata- HGST_HUS724020A LA640_PN2134P5G 2P2AX -> ../../../../drbd3 by-disk/ disk/by- id/ata- HGST_HUS724020A LA640_PN2134P5G 2P2XX -> ../../../../drbd2 by-disk/ disk/by- id/ata- ST2000DM001- 1CH164_ W241L86K -> ../../../../drbd1 by-disk/ disk/by- id/ata- ST2000DM001- 1CH164_ W241L88L -> ../../../../drbd0 by-res/ data/0 -> ../../../drbd0 by-res/ data/1 -> ../../../drbd1
dRWX - 2015-08-10 14:17 /dev/drbd
lRWX - 2015-08-10 14:18 /dev/block/147:0 -> ../drbd0
lRWX - 2015-08-11 14:45 /dev/block/147:1 -> ../drbd1
lRWX - 2015-08-11 14:00 /dev/block/147:2 -> ../drbd2
lRWX - 2015-08-11 14:00 /dev/block/147:3 -> ../drbd3
lRWX - 2015-08-11 14:00 /dev/drbd/
lRWX - 2015-08-11 14:00 /dev/drbd/
lRWX - 2015-08-11 14:45 /dev/drbd/
lRWX - 2015-08-10 14:18 /dev/drbd/
lRWX - 2015-08-11 14:00 /dev/drbd/by-res/d2 -> ../../drbd2
lRWX - 2015-08-11 14:00 /dev/drbd/by-res/d3 -> ../../drbd3
lRWX - 2015-08-10 14:18 /dev/drbd/
lRWX - 2015-08-11 14:45 /dev/drbd/
bRW- 147,000 2015-08-10 14:18 /dev/drbd0
bRW- 147,001 2015-08-11 14:45 /dev/drbd1
bRW- 147,002 2015-08-11 14:00 /dev/drbd2
bRW- 147,003 2015-08-11 14:00 /dev/drbd3
root@toy02:~# lf HGST /dev by-id/ata- HGST_HUS724020A LA640_PN2134P5G 2P2AX -> ../../sdb by-id/ata- HGST_HUS724020A LA640_PN2134P5G 2P2XX -> ../../sdd by-disk/ disk/by- id/ata- HGST_HUS724020A LA640_. ..
lRWX - 2015-08-11 16:41 /dev/disk/
lRWX - 2015-08-10 16:45 /dev/disk/
lRWX - 2015-08-11 14:00 /dev/drbd/