Bug 693764 - FormatDestroyError: error wiping old signatures from /dev/dasdb1: 1
FormatDestroyError: error wiping old signatures from /dev/dasdb1: 1
Status: CLOSED ERRATA
Product: Fedora
Classification: Fedora
Component: parted (Show other bugs)
rawhide
s390x Linux
medium Severity medium
: ---
: ---
Assigned To: Brian Lane
Fedora Extras Quality Assurance
anaconda_trace_hash:dc9be83dfe4c55f86...
:
Depends On:
Blocks: ZedoraTracker
  Show dependency treegraph
 
Reported: 2011-04-05 10:27 EDT by Jan Stodola
Modified: 2011-10-31 02:17 EDT (History)
8 users (show)

See Also:
Fixed In Version: parted-2.3-10.fc15
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2011-07-25 06:17:48 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
Attached traceback automatically from anaconda. (867.99 KB, text/plain)
2011-04-05 10:27 EDT, Jan Stodola
no flags Details
strace wipefs /dev/dasdb1 (13.76 KB, text/plain)
2011-04-08 13:13 EDT, Jan Stodola
no flags Details
Attached traceback automatically from anaconda. (1.31 MB, text/plain)
2011-10-31 02:17 EDT, Raymond Mancy
no flags Details

  None (edit)
Description Jan Stodola 2011-04-05 10:27:23 EDT
The following was filed automatically by anaconda:
anaconda 15.25 exception report
Traceback (most recent call first):
  File "/usr/lib64/python2.7/site-packages/pyanaconda/storage/formats/__init__.py", line 288, in destroy
    raise FormatDestroyError(msg)
  File "/usr/lib64/python2.7/site-packages/pyanaconda/storage/devices.py", line 1428, in _postCreate
    DeviceFormat(device=self.path, exists=True).destroy()
  File "/usr/lib64/python2.7/site-packages/pyanaconda/storage/devices.py", line 750, in create
    self._postCreate()
  File "/usr/lib64/python2.7/site-packages/pyanaconda/storage/deviceaction.py", line 240, in execute
    self.device.create(intf=intf)
  File "/usr/lib64/python2.7/site-packages/pyanaconda/storage/devicetree.py", line 313, in processActions
    action.execute(intf=self.intf)
  File "/usr/lib64/python2.7/site-packages/pyanaconda/storage/__init__.py", line 356, in doIt
    self.devicetree.processActions()
  File "/usr/lib64/python2.7/site-packages/pyanaconda/packages.py", line 116, in turnOnFilesystems
    anaconda.storage.doIt()
  File "/usr/lib64/python2.7/site-packages/pyanaconda/dispatch.py", line 211, in moveStep
    rc = stepFunc(self.anaconda)
  File "/usr/lib64/python2.7/site-packages/pyanaconda/dispatch.py", line 130, in gotoNext
    self.moveStep()
  File "/usr/lib64/python2.7/site-packages/pyanaconda/gui.py", line 1257, in nextClicked
    self.anaconda.dispatch.gotoNext()
FormatDestroyError: error wiping old signatures from /dev/dasdb1: 1
Comment 1 Jan Stodola 2011-04-05 10:27:27 EDT
Created attachment 489991 [details]
Attached traceback automatically from anaconda.
Comment 2 Jan Stodola 2011-04-05 10:31:59 EDT
Steps to reproduce:
1. run cpfmtxa in CMS to format an DASD disk
2. start the installation in vnc mode
3. when asked, format the DASD disk to use with linux
4. create custom partitioning:
/boot   500 MB
swap   1000 MB
/      rest of the drive
5. select Next
6. traceback
Comment 3 Chris Lumens 2011-04-07 17:06:12 EDT
10:30:21,148 INFO program: Running... wipefs -a /dev/dasdb1
10:30:21,153 ERR program: wipefs: error: /dev/dasdb1: probing initialization failed

I wonder what causes that.
Comment 4 Karel Zak 2011-04-08 06:32:09 EDT
It would be nice to call wipefs(8) with enabled debugging

  BLKID_DEBUG=0xffff wipefs /dev/dasdb1

note that the command without any option (e.g. -a) is not destructive ;-) The other way is call it with strace.
Comment 5 Jan Stodola 2011-04-08 13:13:24 EDT
Created attachment 490845 [details]
strace wipefs /dev/dasdb1

-bash-4.2# BLKID_DEBUG=0xffff wipefs /dev/dasdb1
wipefs: error: /dev/dasdb1: probing initialization failed

"strace wipefs /dev/dasdb1" is in the attachment

One thing is not clear to me: why is anaconda trying to wipe old signatures from /dev/dasdb1? The drive /dev/dasdb has no partitions, it was formatted before the installation using the "cpfmtxa" command in CMS and later, anaconda formatted it using dasdfmt...

-bash-4.2# ls /dev | grep dasd
dasd_eer
dasdb
Comment 6 Karel Zak 2011-04-11 09:43:37 EDT
(In reply to comment #5)
> Created attachment 490845 [details]
> strace wipefs /dev/dasdb1

open("/dev/dasdb1", O_RDONLY)   = -1 ENOENT (No such file or directory)

 ;-) 

> One thing is not clear to me: why is anaconda trying to wipe old signatures
> from /dev/dasdb1? The drive /dev/dasdb has no partitions, it was formatted
> before the installation using the "cpfmtxa" command in CMS and later, anaconda
> formatted it using dasdfmt...

Maybe there is the partition, but anaconda forgot to inform kernel about the change in partition table (re-read PT ioctl, e.g. partprobe command).

Reassigning back to the snake...
Comment 7 David Lehman 2011-04-18 10:04:44 EDT
We are wiping any old metadata from a newly created partition. The problem is that we have told parted to commit the new partition table to the disk and OS, but still the device node does not appear. This is specific to dasd devices. I have seen it several times.
Comment 8 Dan Horák 2011-04-20 04:25:00 EDT
Adding Hendrick to CC, maybe the kernel forgets to emit some events or ...
Comment 9 Hendrik Brueckner 2011-05-17 06:16:38 EDT
(In reply to comment #8)
> Adding Hendrick to CC, maybe the kernel forgets to emit some events or ...

One point could be that parted/anaconda miss the re-read partition table ioctl. On other side it might help to run udevadm settle between parted and the wipefs call.
Comment 10 Dan Horák 2011-07-22 06:30:29 EDT
It really looks like parted doesn't issue the re-read partition ioctl or the dasds doesn't understand the partition refresh method parted is using. After writing new partition table with parted nothing happens, with fdasd the new partition is available after writing the partition table.
Comment 11 Dan Horák 2011-07-22 06:37:21 EDT
from parted's libparted/disk.c

...
/**
 * Tell the operating system kernel about the partition table layout
 * of \p disk.
 *
 * This is rather loosely defined: for example, on old versions of Linux,
 * it simply calls the BLKRRPART ioctl, which tells the kernel to
 * reread the partition table. On newer versions (2.4.x), it will
 * use the new blkpg interface to tell Linux where each partition
 * starts/ends, etc. In this case, Linux does not need to have support for
 * a specific type of partition table.
 * 
 * \return 0 on failure, 1 otherwise.
 */
int
ped_disk_commit_to_os (PedDisk* disk)
Comment 12 Dan Horák 2011-07-25 06:17:48 EDT
same bug as #651478, the patch used in F-14 was missing in the F-15 package
Comment 13 Brian Lane 2011-07-25 14:11:21 EDT
Thanks. This patch made it into upstream so rawhide has it and should work just fine.
Comment 14 Fedora Update System 2011-07-25 15:01:05 EDT
parted-2.3-10.fc15 has been submitted as an update for Fedora 15.
https://admin.fedoraproject.org/updates/parted-2.3-10.fc15
Comment 15 Fedora Update System 2011-08-23 00:29:44 EDT
parted-2.3-10.fc15 has been pushed to the Fedora 15 stable repository.  If problems still persist, please make note of it in this bug report.
Comment 16 Raymond Mancy 2011-10-31 02:17:01 EDT
Created attachment 530899 [details]
Attached traceback automatically from anaconda.

Note You need to log in before you can comment on or make changes to this bug.