On Oct 29, 2007 16:13 -0600, Andreas Dilger wrote: > On Oct 29, 2007 13:57 -0700, Mark Fasheh wrote: > > I'm a little bit confused by fe_offset. Is it a physical offset, or a > > logical offset? The reason I ask is that your description above says "FIEMAP > > ioctl will return the logical to physical mapping for the extent that > > contains the specified logical byte address." Which seems to imply physical, > > but your math to get to the next logical start in a very fragmented file, > > implies that fe_offset is a logical offset: > > > > fm_start = fm_extents[fm_extent_count - 1].fe_offset + > > fm_extents[fm_extent_count - 1].fe_length + 1; > > Note the distinction between "fe_offset" (which is a physical offset for > a single extent) and "fm_offset" (which is a logical offset for that file). Actually, that is completely bunk. What it should say is something like: "filefrag can easily call the FIEMAP ioctls repeatedly using the returned fm_start and fm_length as the start offset for the next ioctl: fiemap.fm_start = fiemap.fm_start + fiemap.fm_length + 1; Cheers, Andreas -- Andreas Dilger Sr. Software Engineer, Lustre Group Sun Microsystems of Canada, Inc. - To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html