r=phil
Restore the echo_client to working order. We fix up the object creation
paths and fix up some bad export refcounting behaviour.
- get rid of an extra export put in the lov_disconnect path. This was
covering up for an export leak in oscc_init. We put that export
reference in osc_disconnect.
- add a little helper to transfer the object group number from the obdo
to the io obj.
- have the echo_client use group 2 for its objects so it doesn't conflict
with the group 0 objects used by the filesystem.
- get the oid from obd_create from the lsm_obj_id returned instead of the
overloaded o_id
- get rid of some extra export_puts in the echo_client's brw testing paths
- get rid of an extra export_put in echo_client_cleanup
- alter quite a bit of the filter object paths to pass the proper group around
- fix up some assumptions the filter has about group numbers that are no
longer true after the addition of the echo_client's group 2. this is
begging for some enums.
- stop lbuging when io is attempted in the filter against an object that doesn't exist
- only do pre-creation in the filter for group 0
- be sure to set the caller's lsm in all filter_create success paths
- pass osc create requests right on to the ost if they aren't in group 0
- in your face, tab!
struct lov_stripe_md **ea, struct obd_trans_info *oti);
int osc_real_create(struct obd_export *exp, struct obdo *oa,
struct lov_stripe_md **ea, struct obd_trans_info *oti);
-void oscc_init(struct lustre_handle *exph);
+void oscc_init(struct obd_export *exp);
int lproc_osc_attach_seqstat(struct obd_device *dev);
extern atomic_t osc_max_rpcs_in_flight;