[PVFS2-developers]

Sam Lang slang at mcs.anl.gov
Fri Oct 21 12:56:03 EDT 2005


Hi Nipat,

A single file can be stored on some or all of the data servers (in
your case strips of the file may be on all 3 servers).  The
distribution of the file on the different data servers is defined by
its distribution parameters, which in most cases is just a simple
striping distribution, where parts of the file are placed on each
data server in a round-robin fashion.

So getting one data handle probably isn't what you want.  You can
print all the data handles used by a file, and see which servers
they are on, but you can't get an array of data handles returned
through one of the system interface functions (PVFS_sys_*).  What is
it you want to do with a data handle?

The state machine is used internally on the client and the server to
process operations.  You probably don't want to mess with it unless
you plan to add a new operation to pvfs2.  Even then, you really
only need to add state machine actions and you can leave the state
machine processing code untouched.

-sam

Nipat Leelapanya wrote:
> I'm a pvfs beginner.
> I have a meta server and 3 data servers. I want to know which data
> server store which file.
> I call PVFS_sys_lookup() and get a handle, but this handle is in the
> Meta Handle Ranges.
> My questions are (This may be silly questions.)
> 
> 1. How can I map meta handle to data handle
> 2. After I have the data handle, can I call
> "PINT_cached_config_get_server_name()" to get the server name?
> 3. I read the source code in src/client/sysint/sys-*. They use state
> machine to perform the task.Could you please explain how and when to use
> the state machine?
> 
> Thank for your help.
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> PVFS2-developers mailing list
> PVFS2-developers at beowulf-underground.org
> http://www.beowulf-underground.org/mailman/listinfo/pvfs2-developers



More information about the PVFS2-developers mailing list