Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.
Bug 693764 - FormatDestroyError: error wiping old signatures from /dev/dasdb1: 1
Summary: FormatDestroyError: error wiping old signatures from /dev/dasdb1: 1
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: parted
Version: rawhide
Hardware: s390x
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Brian Lane
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard: anaconda_trace_hash:dc9be83dfe4c55f86...
Depends On:
Blocks: ZedoraTracker
TreeView+ depends on / blocked
 
Reported: 2011-04-05 14:27 UTC by Jan Stodola
Modified: 2011-10-31 06:17 UTC (History)
8 users (show)

Fixed In Version: parted-2.3-10.fc15
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2011-07-25 10:17:48 UTC
Type: ---
Embargoed:


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

Description Jan Stodola 2011-04-05 14:27:23 UTC
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 14:27:27 UTC
Created attachment 489991 [details]
Attached traceback automatically from anaconda.

Comment 2 Jan Stodola 2011-04-05 14:31:59 UTC
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 21:06:12 UTC
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 10:32:09 UTC
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 17:13:24 UTC
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 13:43:37 UTC
(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 14:04:44 UTC
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 08:25:00 UTC
Adding Hendrick to CC, maybe the kernel forgets to emit some events or ...

Comment 9 Hendrik Brueckner 2011-05-17 10:16:38 UTC
(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 10:30:29 UTC
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 10:37:21 UTC
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 10:17:48 UTC
same bug as #651478, the patch used in F-14 was missing in the F-15 package

Comment 13 Brian Lane 2011-07-25 18:11:21 UTC
Thanks. This patch made it into upstream so rawhide has it and should work just fine.

Comment 14 Fedora Update System 2011-07-25 19:01:05 UTC
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 04:29:44 UTC
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 06:17:01 UTC
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.