From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ipmail06.adl2.internode.on.net ([150.101.137.129]:23280 "EHLO ipmail06.adl2.internode.on.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S965050Ab3BMWW0 (ORCPT ); Wed, 13 Feb 2013 17:22:26 -0500 Date: Thu, 14 Feb 2013 09:17:20 +1100 From: Dave Chinner To: Karel Zak Cc: =?utf-8?B?THVrw6HFoQ==?= Czerner , xfs@oss.sgi.com, sandeen@redhat.com, Zach Brown , linux-btrfs@vger.kernel.org Subject: Re: [PATCH] xfs_mkfs: wipe old signatures from the device Message-ID: <20130213221720.GH26694@dastard> References: <1360667215-14701-1-git-send-email-lczerner@redhat.com> <20130212202753.GC26694@dastard> <20130213080154.GC18597@x2.net.home> <20130213121655.GA7799@x2.net.home> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 In-Reply-To: <20130213121655.GA7799@x2.net.home> Sender: linux-btrfs-owner@vger.kernel.org List-ID: On Wed, Feb 13, 2013 at 01:16:55PM +0100, Karel Zak wrote: > On Wed, Feb 13, 2013 at 11:41:08AM +0100, Lukáš Czerner wrote: > > However > > > > mkfs.btrfs /dev/sda > > mkfs.ext4 -F /dev/sda > > > > works well, however I am not sure why that is. Is that some kind of > > mount(8) magic ? > > This is bug in libmount. Fixed in upstream tree. The libmount in some > cases ignores the ambivalent probing result from libblkid and tries > stuff from /etc/filesystems (where is for example ext4). > > > So I think that liblkid _and_ btrfs tools has to be fixed not to treat > > backup superblocks as primary! > > The problem with additional btrfs superblocks has been already reported > to btrfs guys: > > http://www.mail-archive.com/linux-btrfs@vger.kernel.org/msg20957.html > > and I don't see a reply "yep, this is btrfs-progs bug" :-) Oh, it's most definitely a btrfs-progs bug. Using stale metadata data on the block device in preference to current, primary metadata identifying the device to belong to a different filesystem is, well, rather unfriendly. In the above case, mkfs.ext4 overwrites the btrfs magic block field so that it is not zero (as it is after wipefs runs), and hence the btrfs tools see it as a broken superblock and continue to the next location for recovery rather than see the device as containing a valid but foreign filesystem. None of the filesystem tools from ext4, btrfs and XFS handle this sort of thing consistently, even though it is their responsibility to do so. XFS is probably the best of them, in that *some* of the tools will refuse to run unless you provide a force flag when the device appears to contain primary identifiers for a different filesystem. e.g. mkfs.xfs won't overwrite existing filesystems without a force flag, but mkfs.ext4 and mkfs.btrfs will: $ sudo mkfs.xfs /dev/vdb mkfs.xfs: /dev/vdb appears to contain an existing filesystem (btrfs). mkfs.xfs: Use the -f option to force overwrite. $ sudo mkfs.xfs -f /dev/vdb meta-data=/dev/vdb isize=256 agcount=4, agsize=720896 blks = sectsz=512 attr=2, projid32bit=0 = crc=0 data = bsize=4096 blocks=2883584, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 log =internal log bsize=4096 blocks=2560, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 $ sudo mkfs.xfs /dev/vdb mkfs.xfs: /dev/vdb appears to contain an existing filesystem (xfs). mkfs.xfs: Use the -f option to force overwrite. $ sudo mkfs.btrfs /dev/vdb WARNING! - Btrfs Btrfs v0.19 IS EXPERIMENTAL WARNING! - see http://btrfs.wiki.kernel.org before using fs created label (null) on /dev/vdb nodesize 4096 leafsize 4096 sectorsize 4096 size 11.00GB Btrfs Btrfs v0.19 $ sudo mkfs.ext4 /dev/vdb mke2fs 1.42.5 (29-Jul-2012) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 720896 inodes, 2883584 blocks 144179 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=2952790016 88 block groups 32768 blocks per group, 32768 fragments per group 8192 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208 Allocating group tables: done Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done $ sudo mkfs.xfs /dev/vdb mkfs.xfs: /dev/vdb appears to contain an existing filesystem (ext4). mkfs.xfs: Use the -f option to force overwrite. $ IOWs, it is the responsibility of the filesystem tools to correctly identify the filesystem being operated on, and not to modify/trash/recover anything unless specifically directed by the user. When a filesystem tool gets it wrong, then that specific tool needs to be fixed. i.e. it is the responsibility of filesystem tools to behave sanely, not for the rest of the world to have to work around the dangerous behaviour of a specific filesystems' toolset. And that makes it a btrfs-progs bug that needs to be fixed. Cheers, Dave. -- Dave Chinner david@fromorbit.com From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 01CE17FE5 for ; Wed, 13 Feb 2013 16:17:29 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id DAE288F8059 for ; Wed, 13 Feb 2013 14:17:25 -0800 (PST) Received: from ipmail06.adl2.internode.on.net (ipmail06.adl2.internode.on.net [150.101.137.129]) by cuda.sgi.com with ESMTP id a5OVbaKrlMyHNM22 for ; Wed, 13 Feb 2013 14:17:22 -0800 (PST) Date: Thu, 14 Feb 2013 09:17:20 +1100 From: Dave Chinner Subject: Re: [PATCH] xfs_mkfs: wipe old signatures from the device Message-ID: <20130213221720.GH26694@dastard> References: <1360667215-14701-1-git-send-email-lczerner@redhat.com> <20130212202753.GC26694@dastard> <20130213080154.GC18597@x2.net.home> <20130213121655.GA7799@x2.net.home> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20130213121655.GA7799@x2.net.home> List-Id: XFS Filesystem from SGI List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: xfs-bounces@oss.sgi.com Sender: xfs-bounces@oss.sgi.com To: Karel Zak Cc: Zach Brown , =?utf-8?B?THVrw6HFoQ==?= Czerner , sandeen@redhat.com, linux-btrfs@vger.kernel.org, xfs@oss.sgi.com T24gV2VkLCBGZWIgMTMsIDIwMTMgYXQgMDE6MTY6NTVQTSArMDEwMCwgS2FyZWwgWmFrIHdyb3Rl Ogo+IE9uIFdlZCwgRmViIDEzLCAyMDEzIGF0IDExOjQxOjA4QU0gKzAxMDAsIEx1a8OhxaEgQ3pl cm5lciB3cm90ZToKPiA+IEhvd2V2ZXIKPiA+IAo+ID4gbWtmcy5idHJmcyAvZGV2L3NkYQo+ID4g bWtmcy5leHQ0IC1GIC9kZXYvc2RhCj4gPiAKPiA+IHdvcmtzIHdlbGwsIGhvd2V2ZXIgSSBhbSBu b3Qgc3VyZSB3aHkgdGhhdCBpcy4gSXMgdGhhdCBzb21lIGtpbmQgb2YKPiA+IG1vdW50KDgpIG1h Z2ljID8KPiAKPiAgVGhpcyBpcyBidWcgaW4gbGlibW91bnQuIEZpeGVkIGluIHVwc3RyZWFtIHRy ZWUuIFRoZSBsaWJtb3VudCBpbiBzb21lCj4gIGNhc2VzIGlnbm9yZXMgdGhlIGFtYml2YWxlbnQg cHJvYmluZyByZXN1bHQgZnJvbSBsaWJibGtpZCBhbmQgdHJpZXMgCj4gIHN0dWZmIGZyb20gL2V0 Yy9maWxlc3lzdGVtcyAod2hlcmUgaXMgZm9yIGV4YW1wbGUgZXh0NCkuCj4gCj4gPiBTbyBJIHRo aW5rIHRoYXQgbGlibGtpZCBfYW5kXyBidHJmcyB0b29scyBoYXMgdG8gYmUgZml4ZWQgbm90IHRv IHRyZWF0Cj4gPiBiYWNrdXAgc3VwZXJibG9ja3MgYXMgcHJpbWFyeSEKPiAKPiAgVGhlIHByb2Js ZW0gd2l0aCBhZGRpdGlvbmFsIGJ0cmZzIHN1cGVyYmxvY2tzIGhhcyBiZWVuIGFscmVhZHkgcmVw b3J0ZWQKPiAgdG8gYnRyZnMgZ3V5czoKPiAKPiAgICBodHRwOi8vd3d3Lm1haWwtYXJjaGl2ZS5j b20vbGludXgtYnRyZnNAdmdlci5rZXJuZWwub3JnL21zZzIwOTU3Lmh0bWwKPiAKPiAgYW5kIEkg ZG9uJ3Qgc2VlIGEgcmVwbHkgInllcCwgdGhpcyBpcyBidHJmcy1wcm9ncyBidWciIDotKQoKT2gs IGl0J3MgbW9zdCBkZWZpbml0ZWx5IGEgYnRyZnMtcHJvZ3MgYnVnLiBVc2luZyBzdGFsZQptZXRh ZGF0YSBkYXRhIG9uIHRoZSBibG9jayBkZXZpY2UgaW4gcHJlZmVyZW5jZSB0byBjdXJyZW50LCBw cmltYXJ5Cm1ldGFkYXRhIGlkZW50aWZ5aW5nIHRoZSBkZXZpY2UgdG8gYmVsb25nIHRvIGEgZGlm ZmVyZW50IGZpbGVzeXN0ZW0KaXMsIHdlbGwsIHJhdGhlciB1bmZyaWVuZGx5LgoKSW4gdGhlIGFi b3ZlIGNhc2UsIG1rZnMuZXh0NCBvdmVyd3JpdGVzIHRoZSBidHJmcyBtYWdpYyBibG9jayBmaWVs ZApzbyB0aGF0IGl0IGlzIG5vdCB6ZXJvIChhcyBpdCBpcyBhZnRlciB3aXBlZnMgcnVucyksIGFu ZCBoZW5jZSB0aGUKYnRyZnMgdG9vbHMgc2VlIGl0IGFzIGEgYnJva2VuIHN1cGVyYmxvY2sgYW5k IGNvbnRpbnVlIHRvIHRoZSBuZXh0CmxvY2F0aW9uIGZvciByZWNvdmVyeSByYXRoZXIgdGhhbiBz ZWUgdGhlIGRldmljZSBhcyBjb250YWluaW5nIGEKdmFsaWQgYnV0IGZvcmVpZ24gZmlsZXN5c3Rl bS4KCk5vbmUgb2YgdGhlIGZpbGVzeXN0ZW0gdG9vbHMgZnJvbSBleHQ0LCBidHJmcyBhbmQgWEZT IGhhbmRsZSB0aGlzCnNvcnQgb2YgdGhpbmcgY29uc2lzdGVudGx5LCBldmVuIHRob3VnaCBpdCBp cyB0aGVpciByZXNwb25zaWJpbGl0eQp0byBkbyBzby4gWEZTIGlzIHByb2JhYmx5IHRoZSBiZXN0 IG9mIHRoZW0sIGluIHRoYXQgKnNvbWUqIG9mIHRoZQp0b29scyB3aWxsIHJlZnVzZSB0byBydW4g dW5sZXNzIHlvdSBwcm92aWRlIGEgZm9yY2UgZmxhZyB3aGVuIHRoZQpkZXZpY2UgYXBwZWFycyB0 byBjb250YWluIHByaW1hcnkgaWRlbnRpZmllcnMgZm9yIGEgZGlmZmVyZW50CmZpbGVzeXN0ZW0u IGUuZy4gbWtmcy54ZnMgd29uJ3Qgb3ZlcndyaXRlIGV4aXN0aW5nIGZpbGVzeXN0ZW1zCndpdGhv dXQgYSBmb3JjZSBmbGFnLCBidXQgbWtmcy5leHQ0IGFuZCBta2ZzLmJ0cmZzIHdpbGw6CgokIHN1 ZG8gbWtmcy54ZnMgL2Rldi92ZGIKbWtmcy54ZnM6IC9kZXYvdmRiIGFwcGVhcnMgdG8gY29udGFp biBhbiBleGlzdGluZyBmaWxlc3lzdGVtIChidHJmcykuCm1rZnMueGZzOiBVc2UgdGhlIC1mIG9w dGlvbiB0byBmb3JjZSBvdmVyd3JpdGUuCiQgc3VkbyBta2ZzLnhmcyAtZiAvZGV2L3ZkYgptZXRh LWRhdGE9L2Rldi92ZGIgICAgICAgICAgICAgICBpc2l6ZT0yNTYgICAgYWdjb3VudD00LCBhZ3Np emU9NzIwODk2IGJsa3MKICAgICAgICAgPSAgICAgICAgICAgICAgICAgICAgICAgc2VjdHN6PTUx MiAgIGF0dHI9MiwgcHJvamlkMzJiaXQ9MAogICAgICAgICA9ICAgICAgICAgICAgICAgICAgICAg ICBjcmM9MCAgICAKZGF0YSAgICAgPSAgICAgICAgICAgICAgICAgICAgICAgYnNpemU9NDA5NiAg IGJsb2Nrcz0yODgzNTg0LCBpbWF4cGN0PTI1CiAgICAgICAgID0gICAgICAgICAgICAgICAgICAg ICAgIHN1bml0PTAgICAgICBzd2lkdGg9MCBibGtzCm5hbWluZyAgID12ZXJzaW9uIDIgICAgICAg ICAgICAgIGJzaXplPTQwOTYgICBhc2NpaS1jaT0wCmxvZyAgICAgID1pbnRlcm5hbCBsb2cgICAg ICAgICAgIGJzaXplPTQwOTYgICBibG9ja3M9MjU2MCwgdmVyc2lvbj0yCiAgICAgICAgID0gICAg ICAgICAgICAgICAgICAgICAgIHNlY3Rzej01MTIgICBzdW5pdD0wIGJsa3MsIGxhenktY291bnQ9 MQpyZWFsdGltZSA9bm9uZSAgICAgICAgICAgICAgICAgICBleHRzej00MDk2ICAgYmxvY2tzPTAs IHJ0ZXh0ZW50cz0wCiQgc3VkbyBta2ZzLnhmcyAvZGV2L3ZkYgpta2ZzLnhmczogL2Rldi92ZGIg YXBwZWFycyB0byBjb250YWluIGFuIGV4aXN0aW5nIGZpbGVzeXN0ZW0gKHhmcykuCm1rZnMueGZz OiBVc2UgdGhlIC1mIG9wdGlvbiB0byBmb3JjZSBvdmVyd3JpdGUuCiQgc3VkbyBta2ZzLmJ0cmZz IC9kZXYvdmRiCgpXQVJOSU5HISAtIEJ0cmZzIEJ0cmZzIHYwLjE5IElTIEVYUEVSSU1FTlRBTApX QVJOSU5HISAtIHNlZSBodHRwOi8vYnRyZnMud2lraS5rZXJuZWwub3JnIGJlZm9yZSB1c2luZwoK ZnMgY3JlYXRlZCBsYWJlbCAobnVsbCkgb24gL2Rldi92ZGIKICAgICAgICBub2Rlc2l6ZSA0MDk2 IGxlYWZzaXplIDQwOTYgc2VjdG9yc2l6ZSA0MDk2IHNpemUgMTEuMDBHQgpCdHJmcyBCdHJmcyB2 MC4xOQokIHN1ZG8gbWtmcy5leHQ0IC9kZXYvdmRiCm1rZTJmcyAxLjQyLjUgKDI5LUp1bC0yMDEy KQpGaWxlc3lzdGVtIGxhYmVsPQpPUyB0eXBlOiBMaW51eApCbG9jayBzaXplPTQwOTYgKGxvZz0y KQpGcmFnbWVudCBzaXplPTQwOTYgKGxvZz0yKQpTdHJpZGU9MCBibG9ja3MsIFN0cmlwZSB3aWR0 aD0wIGJsb2Nrcwo3MjA4OTYgaW5vZGVzLCAyODgzNTg0IGJsb2NrcwoxNDQxNzkgYmxvY2tzICg1 LjAwJSkgcmVzZXJ2ZWQgZm9yIHRoZSBzdXBlciB1c2VyCkZpcnN0IGRhdGEgYmxvY2s9MApNYXhp bXVtIGZpbGVzeXN0ZW0gYmxvY2tzPTI5NTI3OTAwMTYKODggYmxvY2sgZ3JvdXBzCjMyNzY4IGJs b2NrcyBwZXIgZ3JvdXAsIDMyNzY4IGZyYWdtZW50cyBwZXIgZ3JvdXAKODE5MiBpbm9kZXMgcGVy IGdyb3VwClN1cGVyYmxvY2sgYmFja3VwcyBzdG9yZWQgb24gYmxvY2tzOiAKICAgICAgICAzMjc2 OCwgOTgzMDQsIDE2Mzg0MCwgMjI5Mzc2LCAyOTQ5MTIsIDgxOTIwMCwgODg0NzM2LCAxNjA1NjMy LCAyNjU0MjA4CgpBbGxvY2F0aW5nIGdyb3VwIHRhYmxlczogZG9uZSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAKV3JpdGluZyBpbm9kZSB0YWJsZXM6IGRvbmUgICAgICAgICAgICAgICAgICAg ICAgICAgICAgCkNyZWF0aW5nIGpvdXJuYWwgKDMyNzY4IGJsb2Nrcyk6IGRvbmUKV3JpdGluZyBz dXBlcmJsb2NrcyBhbmQgZmlsZXN5c3RlbSBhY2NvdW50aW5nIGluZm9ybWF0aW9uOiBkb25lIAoK JCBzdWRvIG1rZnMueGZzIC9kZXYvdmRiCm1rZnMueGZzOiAvZGV2L3ZkYiBhcHBlYXJzIHRvIGNv bnRhaW4gYW4gZXhpc3RpbmcgZmlsZXN5c3RlbSAoZXh0NCkuCm1rZnMueGZzOiBVc2UgdGhlIC1m IG9wdGlvbiB0byBmb3JjZSBvdmVyd3JpdGUuCiQKCklPV3MsIGl0IGlzIHRoZSByZXNwb25zaWJp bGl0eSBvZiB0aGUgZmlsZXN5c3RlbSB0b29scyB0byBjb3JyZWN0bHkKaWRlbnRpZnkgdGhlIGZp bGVzeXN0ZW0gYmVpbmcgb3BlcmF0ZWQgb24sIGFuZCBub3QgdG8KbW9kaWZ5L3RyYXNoL3JlY292 ZXIgYW55dGhpbmcgdW5sZXNzIHNwZWNpZmljYWxseSBkaXJlY3RlZCBieSB0aGUKdXNlci4gIFdo ZW4gYSBmaWxlc3lzdGVtIHRvb2wgZ2V0cyBpdCB3cm9uZywgdGhlbiB0aGF0IHNwZWNpZmljIHRv b2wKbmVlZHMgdG8gYmUgZml4ZWQuICBpLmUuIGl0IGlzIHRoZSByZXNwb25zaWJpbGl0eSBvZiBm aWxlc3lzdGVtCnRvb2xzIHRvIGJlaGF2ZSBzYW5lbHksIG5vdCBmb3IgdGhlIHJlc3Qgb2YgdGhl IHdvcmxkIHRvIGhhdmUgdG8Kd29yayBhcm91bmQgdGhlIGRhbmdlcm91cyBiZWhhdmlvdXIgb2Yg YSBzcGVjaWZpYyBmaWxlc3lzdGVtcycKdG9vbHNldC4KCkFuZCB0aGF0IG1ha2VzIGl0IGEgYnRy ZnMtcHJvZ3MgYnVnIHRoYXQgbmVlZHMgdG8gYmUgZml4ZWQuCgpDaGVlcnMsCgpEYXZlLgotLSAK RGF2ZSBDaGlubmVyCmRhdmlkQGZyb21vcmJpdC5jb20KCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCnhmcyBtYWlsaW5nIGxpc3QKeGZzQG9zcy5zZ2kuY29t Cmh0dHA6Ly9vc3Muc2dpLmNvbS9tYWlsbWFuL2xpc3RpbmZvL3hmcwo=