From: Xen <list@xenhideout.nl>
To: Util linux <util-linux@vger.kernel.org>
Cc: Karel Zak <kzak@redhat.com>
Subject: Re: PV on disk without partitions not recognised as LVM2_member
Date: Sat, 20 Aug 2016 15:30:02 +0200 [thread overview]
Message-ID: <1a71a3e7acff35280069de29ad2b9a0a@dds.nl> (raw)
In-Reply-To: <20160819111429.4rsuedff24inn4gu@ws.net.home>
Karel Zak schreef op 19-08-2016 13:14:
> On Thu, Aug 18, 2016 at 10:39:30PM +0200, Xen wrote:
>> Would someone be will to fix the issue that a Physical Volume from
>> LVM2 (PV)
>> when placed directly on disk (no partitions or partition tables) will
>> not be
>
> This is very unusual setup, but according to feedback from LVM guys
> it's supported, so I will improve blkid to support it too.
To provide a little feedback.
What is actually the case is that I am installing Grub2 on the PV which
uses the LVM2 "--bootloaderareasize" option to pvcreate.
This creates a bootloader-area of say 1M with an offset like perhaps
2048 sectors, I don't remember how to get that info, after which then
the extents start.
Oh yes, it is this sort of thing:
physical_volumes {
pv0 {
id = "fEGbBn-tbIp-rL7y-m22b-1rQh-r9i5-Qwlqz7"
device = "/dev/sda" # Hint only
status = ["ALLOCATABLE"]
flags = []
dev_size = 1258287104 # 599,998 Gigabytes
pe_start = 4096
pe_count = 153599 # 599,996 Gigabytes
ba_start = 2048
ba_size = 2048 # 1024 Kilobytes
}
}
Grub would naturally create an MBR signature in the first sector, no
partition table, but bootloader code (boot.img).
The result is this:
5182: libblkid: LOWPROBE: [16] LVM2_member:
5182: libblkid: LOWPROBE: reuse buffer: off=0 len=1024
pr=0x21e3160
5182: libblkid: LOWPROBE: magic sboff=536, kboff=0
5182: libblkid: LOWPROBE: call probefunc()
5182: libblkid: LOWPROBE: reuse buffer: off=0 len=1024
pr=0x21e3160
5182: libblkid: LOWPROBE: assigning UUID [superblocks]
5182: libblkid: LOWPROBE: wiper set to superblocks::LVM2_member off=0
size=8192
5182: libblkid: LOWPROBE: assigning TYPE [superblocks]
5182: libblkid: LOWPROBE: <-- leaving probing loop (type=LVM2_member)
[SUBLKS idx=16]
5182: libblkid: LOWPROBE: freeing values list
5182: libblkid: LOWPROBE: chain safeprobe topology DISABLED
5182: libblkid: LOWPROBE: chain safeprobe partitions ENABLED
5182: libblkid: LOWPROBE: reseting partitions values
5182: libblkid: LOWPROBE: --> starting probing loop [PARTS idx=-1]
5182: libblkid: LOWPROBE: reuse buffer: off=0 len=1024
pr=0x21e3160
5182: libblkid: LOWPROBE: reuse buffer: off=0 len=1024
pr=0x21e3160
5182: libblkid: LOWPROBE: reuse buffer: off=0 len=1024
pr=0x21e3160
5182: libblkid: LOWPROBE: reuse buffer: off=0 len=1024
pr=0x21e3160
5182: libblkid: LOWPROBE: magic sboff=510, kboff=0
5182: libblkid: LOWPROBE: dos: ---> call probefunc()
5182: libblkid: LOWPROBE: reuse buffer: off=0 len=1024
pr=0x21e3160
5182: libblkid: LOWPROBE: reuse buffer: off=0 len=1024
pr=0x21e3160
5182: libblkid: LOWPROBE: reuse buffer: off=0 len=1024
pr=0x21e3160
5182: libblkid: LOWPROBE: reuse buffer: off=0 len=1024
pr=0x21e3160
5182: libblkid: LOWPROBE: reuse buffer: off=0 len=1024
pr=0x21e3160
5182: libblkid: LOWPROBE: reuse buffer: off=0 len=1024
pr=0x21e3160
5182: libblkid: LOWPROBE: reuse buffer: off=0 len=1024
pr=0x21e3160
5182: libblkid: LOWPROBE: reuse buffer: off=0 len=1024
pr=0x21e3160
5182: libblkid: LOWPROBE: magic sboff=0, kboff=0
5182: libblkid: LOWPROBE: reuse buffer: off=0 len=1024
pr=0x21e3160
5182: libblkid: LOWPROBE: reuse buffer: off=0 len=1024
pr=0x21e3160
5182: libblkid: LOWPROBE: previously wiped area modified -- ignore
previous results
5182: libblkid: LOWPROBE: zeroize wiper
5182: libblkid: LOWPROBE: reseting superblocks values
5182: libblkid: LOWPROBE: free value UUID
5182: libblkid: LOWPROBE: free value TYPE
5182: libblkid: LOWPROBE: assigning PTUUID [partitions]
5182: libblkid: LOWPROBE: dos: <--- (rc = 0)
5182: libblkid: LOWPROBE: assigning PTTYPE [partitions]
5182: libblkid: LOWPROBE: <-- leaving probing loop (type=dos) [PARTS
idx=3]
And ...that's the real truth of it. I'm sorry, I hadn't realized it
would be due to the bootsector.
When I wipe the bootsector actually it does find LVM2_member.
So I am sorry I didn't mention. The culprit is the Grub2 image.
5261: libblkid: LOWPROBE: [16] LVM2_member:
5261: libblkid: LOWPROBE: reuse buffer: off=0 len=1024
pr=0x1c4a0e0
5261: libblkid: LOWPROBE: magic sboff=536, kboff=0
5261: libblkid: LOWPROBE: call probefunc()
5261: libblkid: LOWPROBE: reuse buffer: off=0 len=1024
pr=0x1c4a0e0
5261: libblkid: LOWPROBE: assigning UUID [superblocks]
5261: libblkid: LOWPROBE: wiper set to superblocks::LVM2_member off=0
size=8192
5261: libblkid: LOWPROBE: assigning TYPE [superblocks]
5261: libblkid: LOWPROBE: <-- leaving probing loop (type=LVM2_member)
[SUBLKS idx=16]
5261: libblkid: LOWPROBE: freeing values list
5261: libblkid: LOWPROBE: chain safeprobe topology DISABLED
5261: libblkid: LOWPROBE: chain safeprobe partitions ENABLED
5261: libblkid: LOWPROBE: reseting partitions values
5261: libblkid: LOWPROBE: --> starting probing loop [PARTS idx=-1]
5261: libblkid: LOWPROBE: reuse buffer: off=0 len=1024
pr=0x1c4a0e0
5261: libblkid: LOWPROBE: reuse buffer: off=0 len=1024
pr=0x1c4a0e0
5261: libblkid: LOWPROBE: reuse buffer: off=0 len=1024
pr=0x1c4a0e0
5261: libblkid: LOWPROBE: reuse buffer: off=0 len=1024
pr=0x1c4a0e0
5261: libblkid: LOWPROBE: gpt: ---> call probefunc()
5261: libblkid: LOWPROBE: reuse buffer: off=0 len=1024
pr=0x1c4a0e0
5261: libblkid: LOWPROBE: gpt: <--- (rc = 1)
5261: libblkid: LOWPROBE: reuse buffer: off=0 len=1024
pr=0x1c4a0e0
5261: libblkid: LOWPROBE: reuse buffer: off=0 len=1024
pr=0x1c4a0e0
5261: libblkid: LOWPROBE: ultrix: ---> call probefunc()
5261: libblkid: LOWPROBE: buffer read: off=15872 len=512
pr=0x1c4a0e0
5261: libblkid: LOWPROBE: ultrix: <--- (rc = 1)
5261: libblkid: LOWPROBE: reuse buffer: off=0 len=1024
pr=0x1c4a0e0
5261: libblkid: LOWPROBE: reuse buffer: off=0 len=1024
pr=0x1c4a0e0
5261: libblkid: LOWPROBE: reuse buffer: off=0 len=1024
pr=0x1c4a0e0
5261: libblkid: LOWPROBE: buffer read: off=28672 len=1024
pr=0x1c4a0e0
5261: libblkid: LOWPROBE: reuse buffer: off=0 len=1024
pr=0x1c4a0e0
5261: libblkid: LOWPROBE: reuse buffer: off=0 len=1024
pr=0x1c4a0e0
5261: libblkid: LOWPROBE: <-- leaving probing loop (failed=1) [PARTS
idx=11]
5261: libblkid: LOWPROBE: parts: start probing for partition entry
5261: libblkid: LOWPROBE: parts: end probing for partition entry
[nothing]
5261: libblkid: LOWPROBE: partitions probe done [rc=1]
5261: libblkid: LOWPROBE: 0x1c4a0e0: end probe
5261: libblkid: LOWPROBE: zeroize wiper
5261: libblkid: LOWPROBE: returning UUID value
5261: libblkid: TAG: found cache tag head UUID
5261: libblkid: LOWPROBE: returning TYPE value
5261: libblkid: TAG: found cache tag head TYPE
5261: libblkid: PROBE: /dev/sda: devno 0x0800, type LVM2_member
Pretty good debug output, by the way.
Anyway. Thanks to Zdenek Kabelac I found this issue. He knew what was
going on.
Regards.
next prev parent reply other threads:[~2016-08-20 13:30 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-08-18 20:39 PV on disk without partitions not recognised as LVM2_member Xen
2016-08-19 9:45 ` Xen
2016-08-19 11:14 ` Karel Zak
2016-08-19 15:10 ` Xen
2016-08-20 13:30 ` Xen [this message]
2016-08-20 14:13 ` Xen
2016-08-22 8:40 ` Karel Zak
2016-08-22 12:16 ` Xen
2016-08-30 10:24 ` Karel Zak
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1a71a3e7acff35280069de29ad2b9a0a@dds.nl \
--to=list@xenhideout.nl \
--cc=kzak@redhat.com \
--cc=util-linux@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox