archive mirror
 help / color / mirror / Atom feed
From: Roland <>
To: LVM general discussion and development <>,
	Andy Smith <>
Subject: Re: [linux-lvm] convert logical sector -> physical sector + pv/vg extent number
Date: Mon, 3 Jan 2022 17:43:01 +0100	[thread overview]
Message-ID: <> (raw)
In-Reply-To: <>

 > any chance to get retrieve this information for automated/script
based processing ?

after long trial and error and reading manpages, i got it (see below):

what i'm yet missing is how "translation" of the headings/fields in
normal output can be avoided , i.e print the technical/internal field
name instead of a "human readable" or "translated" one.

'seg_start_pe' and 'pvseg_start' for example both translate to "Start",
and that does not only make it hard to read (and makes no real sense to
have duplicate field names) ,  but it's also difficult to build an
appropriate output field command option from the default output.  i
remember i had such issue with other tools...

think this is a missing feature ?


# pvs --segments -olv_name,seg_start_pe,seg_size_pe,pvseg_start -S
lv_name=usedblocks -O seg_start
    LV         Start SSize Start
    usedblocks     0     1   512
    usedblocks     1   233     1
    usedblocks   234     1   513
    usedblocks   235   277   235

# pvs --segments -olv_name,seg_start_pe,seg_size_pe,pvseg_start -S
lv_name=markedbad -O seg_start
    LV        Start SSize Start
    markedbad     0     1  1022
    markedbad     1     1     0
    markedbad     2     1   234

# pvs --segments -olv_name,seg_start_pe,seg_size_pe,pvseg_start -S
lv_name=markedbad -O seg_start --nameprefixes --noheadings
    LVM2_LV_NAME='markedbad' LVM2_SEG_START_PE='0' LVM2_SEG_SIZE_PE='1'
    LVM2_LV_NAME='markedbad' LVM2_SEG_START_PE='1' LVM2_SEG_SIZE_PE='1'
    LVM2_LV_NAME='markedbad' LVM2_SEG_START_PE='2' LVM2_SEG_SIZE_PE='1'

# pvs --segments -olv_name,seg_start_pe,seg_size_pe,pvseg_start -S
lv_name=usedblocks -O seg_start --nameprefixes --noheadings
    LVM2_LV_NAME='usedblocks' LVM2_SEG_START_PE='0' LVM2_SEG_SIZE_PE='1'
    LVM2_LV_NAME='usedblocks' LVM2_SEG_START_PE='1'
    LVM2_LV_NAME='usedblocks' LVM2_SEG_START_PE='234'
    LVM2_LV_NAME='usedblocks' LVM2_SEG_START_PE='235'

Am 03.01.22 um 12:13 schrieb Roland:
> thanks!
> any chance to get retrieve this information for automated/script based
> processing ?
> roland
> Am 03.01.22 um 00:12 schrieb Andy Smith:
>> Hi Roland,
>> On Sun, Jan 02, 2022 at 08:00:30PM +0100, Roland wrote:
>>> if i have a logical sector/block "x" on a lvm logical volume ,  is
>>> there
>>> a way to easily calculate/determine (optimally by script/cli) the
>>> corresponding physical sector of the physical device it belongs to and
>>> the extent number of the appropiate pv/vg where it resides ?
>> lvdisplay --maps /path/to/lv
>> tells you all the mappings of logical extents within the LV to
>> physical extents within the PV.
>> pvdisplay --units s /dev/yourpv | grep 'PE Size'
>> tells you the size of a physical extent in sectors.
>> Between those you can work out the sector number on the physical
>> device for a sector number on a logical volume.
>> Cheers,
>> Andy
>> _______________________________________________
>> linux-lvm mailing list
>> read the LVM HOW-TO at

linux-lvm mailing list
read the LVM HOW-TO at

  reply	other threads:[~2022-01-03 16:43 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-01-02 19:00 [linux-lvm] convert logical sector -> physical sector + pv/vg extent number Roland
2022-01-02 23:12 ` Andy Smith
2022-01-03 11:13   ` Roland
2022-01-03 16:43     ` Roland [this message]
2022-01-06 13:47     ` Stuart D Gathman

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:

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \ \ \ \ \

* 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;
as well as URLs for NNTP newsgroup(s).