Hey Murali,

Fast as always I see :)

Let me spend some time looking at these files but maybe they are not
exactly what I'm looking for.  But I see my original query was somewhat
vague.

So what you provided shows how a client can look up the physical mappings
for an already established file.  I'm more interested right now in where
the original mapping is determined.  For example, some client wants to put
some new file 'foo.'  This file is then split into parallel stripes which
are placed across the servers with different physical filenames which
might look something like:
38cf8d50/bstreams/00000001/100000001.bstream

Where in the code is this mapping originally determined?  Does the client
do the lookup as you described and send the request for the actual
physical mapping or does the client request to write the logical name and
the mapping is done by the metaserver?  Maybe I just need to spend more
time looking at what you sent and I'll discover the answer.  If so, sorry
for the unnecessary query!

John

On Wed, 8 Mar 2006, Murali Vilayannur wrote:

> Hi John,
>
> > Could anyone please point to me where in the code the mapping is made
> > between logical filepaths and physical?
>
> From the logical filepaths, you could do a step-by-step lookup
> (PVFS_(i)sys_lookup, PVFS_(i)sys_ref_lookup) for each
> component of the path to retrieve the metafile handles (for regular
> files). Once you have the metafile handle, you could then
> issue a getattr (PVFS_(i)sys_getattr) to get all attributes of the file
> including the
> set/array of data file handles that constitutes the parallel stripes
> of the file.
>
> The client-side code for lookup can be found in
> src/client/sysint/sys-lookup.sm
> and the client-side code for getattr can be found in
> src/client/sysint/sys-getattr.sm.
>
> Hope this answered your question?
> Thanks,
> Murali
>
_______________________________________________
Pvfs2-developers mailing list
[email protected]
http://www.beowulf-underground.org/mailman/listinfo/pvfs2-developers

Reply via email to