On Mon, Dec 15, 2014 at 10:54 AM, Atchley, Scott <atchleyes@xxxxxxxx> wrote: > Hi all, > > For a given file in cephfs, I would like to determine: > > 1) the number of PGs > 2) the PG IDs > 3) the offsets handles by each PG > 4) the stripe unit (i.e. bytes per block of data) > > preferably using a C API. > > I found the getfattr command line tool which provides (1) and (4). > > It appears that cephfs command line tool provides some of the info, but the manpage is not clear as to what is provided by show_layout versus show_location. Does show_layout provide (1) and (4)? Does show_location include (2) and (3)? > > I found a Java CephFileExtent() that provides (1) and a list of OSDs for the stripe unit that contains the provided file extent. What exactly are you trying to accomplish here? I can imagine some limited scenarios where you want to map to PGs, but in general you're a lot more interested in either the objects associated with the file, or the OSDs that host them. I think you can get objects and OSDs out of the latest libcephfs api. > > On the architecture page (http://ceph.com/docs/next/architecture/) under DATA STRIPING, does cephfs client use the same set of PGs used for Object Set 1 for Object Set 2 or does it use a different PGs? Assuming you mean does it use the same PGs for each file's objects, the answer is no, definitely not. -Greg -- To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html