[Lustre-devel] new to lustre and bug 18539
James Simmons
jsimmons at infradead.org
Thu May 21 07:46:20 PDT 2009
Hello!!
As you can tell I'm new to this project but I'm looking forward to
contributing. Recently I have worked on some patch for the lustre utilies
and I'm now looking to the core file system code.
For my first dive into the code I'm tackling bug 18539. Of course
looking at the code base opened up alot of questions. Looking at what was
recommended by Andreas Dilger was to make use of the oscc_flags. The other
part of the solution was to bump up the return value of osc_precreate.
My first set of questions delas with the places where the
oscc_flag is used in some fashion. I noticed one spot for its use was
osc_set_info_async. Looking through the code it appears to be only called
by a osc shrink grant which itself appears to happen on a osc disconnect.
This is correct or is this function used in other places? The next
question is about osc_import_events. Does this function handle events
coming from multiple sources, clients, mds, ost? Also are these events
the type that are sent out when a state changes versus someone sending a
rpc to request the state?
My second set of questions deals with osc_statfs*. From the notes
in the bugzilla osc_statfs_interpret is a MDS side function. Looking at
the code I noticed it is the call back to osc_statfs_async. Knowing
that osc_statfs_async is a obd_ops and thus has a wrapper, obd_statfs_async.
I scanning the code for this and noticed that this wrapper used with the
proper obd_device for the osc was used in the lov layer. The two areas in
the lov layer where lov_statfs_async and qos_statfs_update handled this.
If I remember right this is on the client side of the code. Where does the
mds fit into this? Lov_statfs_async is for when the client queries data
about the file. Whereas qos_statfs_update is what is called durning
inital file create or when the statfs info is to old. Please correct me if
I'm wrong.
More information about the lustre-devel
mailing list