Bug 1598430
| Summary: | Format() fails: Error wiping device: The function 'bd_fs_wipe' called, but not implemented! | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux 7 | Reporter: | Martin Pitt <mpitt> |
| Component: | udisks2 | Assignee: | Tomáš Bžatek <tbzatek> |
| Status: | CLOSED ERRATA | QA Contact: | xhe <xhe> |
| Severity: | urgent | Docs Contact: | |
| Priority: | urgent | ||
| Version: | 7.6 | CC: | tbzatek, vtrefny, xhe |
| Target Milestone: | beta | ||
| Target Release: | 7.6 | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | udisks2-2.7.3-8.el7 | Doc Type: | If docs needed, set a value |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2018-10-30 11:37:15 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
This also affects Mount() and Unmount(): # modprobe scsi_debug # mkfs -t ext4 /dev/sdb # udisksctl mount -b /dev/sdb Error mounting /dev/sdb: GDBus.Error:org.freedesktop.UDisks2.Error.Failed: Error mounting /dev/sdb at /run/media/root/c095c9ac-9abf-4b45-ad98-8a8aa4c94aa0: The function 'bd_fs_mount' called, but not implemented! # mount /dev/sdb /mnt # udisksctl unmount -b /dev/sdb Error unmounting /dev/sdb: GDBus.Error:org.freedesktop.UDisks2.Error.Failed: Error unmounting /dev/sdb: The function 'bd_fs_unmount' called, but not implemented! libblockdev-fs looks quite reasonable, just like on Fedora 28 (except the latter has debug symbol links): # rpm -ql libblockdev-fs | xargs ls -ld lrwxrwxrwx. 1 root root 17 Jul 5 09:11 /usr/lib64/libbd_fs.so.2 -> libbd_fs.so.2.0.0 -rwxr-xr-x. 1 root root 58928 Jun 22 05:34 /usr/lib64/libbd_fs.so.2.0.0 # nm -D /usr/lib64/libbd_fs.so.2.0.0|grep bd_fs_mount 0000000000007dc0 T bd_fs_mount So it seeems pretty well all udisks Filesystem operations are completely broken. > Jul 05 17:09:56 localhost.localdomain dbus[602]: [system] Activating via systemd: service name='org.freedesktop.UDisks2' unit='udisks2.service'
> Jul 05 17:09:56 localhost.localdomain systemd[1]: Starting Disk Manager...
> Jul 05 17:09:56 localhost.localdomain udisksd[1550]: udisks daemon version 2.7.3 starting
> Jul 05 17:09:56 localhost.localdomain udisksd[1550]: The 'ntfscluster' utility is not available
> The 'ntfslabel' utility is not available
> The 'ntfsresize' utility is not available
> The 'ntfsfix' utility is not available
> The 'mkntfs' utility is not available
> Jul 05 17:09:56 localhost.localdomain udisksd[1550]: Failed to load a libblockdev plugin
> Jul 05 17:09:56 localhost.localdomain dbus[602]: [system] Successfully activated service 'org.freedesktop.UDisks2'
> Jul 05 17:09:56 localhost.localdomain systemd[1]: Started Disk Manager.
> Jul 05 17:09:56 localhost.localdomain udisksd[1550]: Acquired the name org.freedesktop.UDisks2 on the system message bus
@Tomáš: Not sure if that was directed at me, but in RHEL 7 NTFS is generally not supported. We blacklist these tests in Cockpit for 7.5 as well (and of course 7.6). But of course it should still work for the other file systems. Caused by unavailable ntfs tools whose search for was added to libblockdev' fs plugin in v2.14 (rebased in RHEL7.6: bug 1545623). Need to backport https://github.com/storaged-project/udisks/commit/e31199054797ca8de62d9d1f32a46a58f2211159 On the latest version of libudisks2-2.7.3-8.el7, it works well. I move to VERIFIED.
Details of test on way1
------------------------
# rpm -qa|egrep 'udisks|blockdev'
libudisks2-2.7.3-8.el7.x86_64
libblockdev-utils-2.18-3.el7.x86_64
libblockdev-swap-2.18-3.el7.x86_64
libblockdev-loop-2.18-3.el7.x86_64
libblockdev-part-2.18-3.el7.x86_64
udisks2-2.7.3-8.el7.x86_64
libblockdev-2.18-3.el7.x86_64
libblockdev-crypto-2.18-3.el7.x86_64
libblockdev-mdraid-2.18-3.el7.x86_64
libblockdev-fs-2.18-3.el7.x86_64
# modprobe scsi_debug
# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 68.3G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 67.3G 0 part
├─rhel_storageqe--16-root 253:0 0 40.7G 0 lvm /
├─rhel_storageqe--16-swap 253:1 0 6.9G 0 lvm [SWAP]
└─rhel_storageqe--16-home 253:2 0 19.9G 0 lvm /home
sdb 8:16 0 8M 0 disk
# mkfs -t ext4 /dev/sdb
mke2fs 1.42.9 (28-Dec-2013)
/dev/sdb is entire device, not just one partition!
Proceed anyway? (y,n) y
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
Stride=0 blocks, Stripe width=32 blocks
2048 inodes, 8192 blocks
409 blocks (4.99%) reserved for the super user
First data block=1
Maximum filesystem blocks=8388608
1 block group
8192 blocks per group, 8192 fragments per group
2048 inodes per group
Allocating group tables: done
Writing inode tables: done
Creating journal (1024 blocks): done
Writing superblocks and filesystem accounting information: done
# udisksctl mount -b /dev/sdb
Mounted /dev/sdb at /run/media/root/60a3d2ca-3eb2-4180-ac91-a365493ac615.
# mount /dev/sdb /mnt
# mount|grep sdb
/dev/sdb on /run/media/root/60a3d2ca-3eb2-4180-ac91-a365493ac615 type ext4 (rw,nosuid,nodev,relatime,seclabel,stripe=32,data=ordered,uhelper=udisks2)
/dev/sdb on /mnt type ext4 (rw,relatime,seclabel,stripe=32,data=ordered)
Details test on way2
------------------------
# modprobe scsi_debug
# udisksctl unmount -b /dev/sdb
Unmounted /dev/sdb.
# mount |grep sdb
/dev/sdb on /mnt type ext4 (rw,relatime,seclabel,stripe=32,data=ordered)
# umount /mnt
# busctl call org.freedesktop.UDisks2 /org/freedesktop/UDisks2/block_devices/sdb org.freedesktop.UDisks2.Block Format 'sa{sv}' ext4 0
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHBA-2018:3271 |
Description of problem: In current RHEL 7.6 nightlies, udisks2 or the underlying libblockdev has a regression: Formatting fails with Error wiping device: The function 'bd_fs_wipe' called, but not implemented! Version-Release number of selected component (if applicable): # rpm -qa|egrep 'udisks|blockdev' udisks2-2.7.3-7.el7.x86_64 udisks2-iscsi-2.7.3-7.el7.x86_64 libblockdev-loop-2.18-2.el7.x86_64 libblockdev-utils-2.18-2.el7.x86_64 libblockdev-mdraid-2.18-2.el7.x86_64 libudisks2-2.7.3-7.el7.x86_64 libblockdev-crypto-2.18-2.el7.x86_64 udisks2-lvm2-2.7.3-7.el7.x86_64 libblockdev-2.18-2.el7.x86_64 libblockdev-swap-2.18-2.el7.x86_64 libblockdev-part-2.18-2.el7.x86_64 libblockdev-lvm-2.18-2.el7.x86_64 libblockdev-fs-2.18-2.el7.x86_64 How reproducible: Always Steps to Reproduce: 1. modprobe scsi_debug # or take any other available block device 2. busctl call org.freedesktop.UDisks2 /org/freedesktop/UDisks2/block_devices/sdb org.freedesktop.UDisks2.Block Format 'sa{sv}' ext4 0 Make *triple* sure here that "sdb" is really the one from scsi_debug, don't destroy your hard disk :) Actual results: Fails with said error. Expected results: Works (like in RHEL 7.5 or Fedora) Additional info: Spotted by Cockpit integration tests in https://github.com/cockpit-project/cockpit/pull/9580