Skip to contentSkip to conversation

XFS bmap to disk lba question.

DISCUSSION Michael Li (gmail) 2 participants 2 messages Jul 13, 2006 – Jul 14, 2006

lore
Share & tools
lore
#0 lore raw

Hi, Nathans and all,

I am looking for the way to map bmap of file extent to disk physical LBA on IRIX/CXFS. Since here is the BEST place to get help about XFS, I send my confusion to you.

We know that the command xfs_bmap can show us the file's extent range, for example [20 - 100], but how can we know the real physical secoter ID (or named as LBA) of file's first block(512Bytes) on a raw disk? I've read XVM admin for IRIX, it show us less clue for this mapping.
We can get this mapping method on linux, as linux/xfs is open sourced, but IRIX is not, we don't know how to do it on IRIX, although the filesystem is the in the same name XFS.

Furthermore, is it the same way to mapping the bmap/LBA in a striped volume. For example: a file on striped volume is in bmap range[20, 1000].
there are 3 physical disks(disk1/disk2/disk3) in the stripe, stripe unit is 128. each stripe unit has 32 512B-blocks. How can we map the first block in the file to one of disk's X sector? After read XVM document. the stripe chunksize should be 128*32 blocks, the stripe width is 3. In the special case, the file's first block must belong to disk1. But how can we know the real LBA on disk1? assume it is a very simple stripe group, not for log subvolume/realtime subvolume.

Could you help me?

Thanks very much!

Michael

BTW: If we should not talk about IRIX here, I will stop posting such a topic here. Sorry for the noise.

#1 lore raw
Quoted 5 lines · Michael Li (gmail)

We know that the command xfs_bmap can show us the file's extent range, for example [20 - 100], but how can we know the real physical secoter ID (or
named as LBA) of file's first block(512Bytes) on a raw disk? I've read XVM admin for IRIX, it show us less clue for this mapping.

For a single disk, its relatively simple. bmap gives you the starting offset for each extent in basic blocks (512 bytes) always, which maps directly to sectors on the logical device.

You need to consider any partition table or volume manager header at the start of a physical device, and factor that into the calculation, they are not any one fixed size (I don't know how large an XVM label would be for example).

Quoted 3 lines

We can get this mapping method on linux, as linux/xfs is open sourced, but IRIX is not, we don't know how to do it on IRIX, although the filesystem is the in the same name XFS.

The xfs_bmap command is basically the same between IRIX and Linux.

Quoted 4 lines

Furthermore, is it the same way to mapping the bmap/LBA in a striped volume. ...
unit is 128. each stripe unit has 32 512B-blocks. How can we map the first block in the file to one of disk's X sector?

Well, it gets more complex now of course, bmap gives you one number (for the single logical address space presented by the raid or volume manager), and its an exercise for the reader to figure out which actual disk that corresponds to based on the raid geometry. Theres no tools for doing this that I know of, you just have to sit down and do the math... (well, thats how I've done it in the past anyway)... a bit of a pain, I know.

Quoted 2 lines

BTW: If we should not talk about IRIX here, I will stop posting such a topic here. Sorry for the noise.

Heh, yes, its more usual to speak to SGI customer support folks for this sort of topic.

cheers.

Signature · 1 line
Nathan