RETURN(rc);
}
-static int lov_sync_fs(struct obd_export *exp, struct obd_info *dummy,
- int wait)
-{
- struct lov_obd *lov;
- struct obd_info oinfo = { { { 0 } } };
- struct lov_request *req;
- struct lov_request_set *set;
- struct l_wait_info lwi = { 0 };
- cfs_list_t *pos;
- int rc = 0;
- ENTRY;
-
- lov = &exp->exp_obd->u.lov;
- rc = lov_prep_sync_fs_set(exp, &oinfo, &set);
- if (rc)
- RETURN(rc);
-
- cfs_list_for_each(pos, &set->set_list) {
- req = cfs_list_entry(pos, struct lov_request, rq_link);
- rc = obd_sync_fs(lov->lov_tgts[req->rq_idx]->ltd_exp,
- &req->rq_oi, wait);
- if (rc)
- break;
- }
- /* if wait then check if all sync_fs IO's are done */
- if (wait)
- l_wait_event(set->set_waitq, lov_finished_set(set), &lwi);
-
- rc = lov_fini_sync_fs_set(set);
-
- RETURN(rc);
-}
-
static int lov_brw_check(struct lov_obd *lov, struct obd_info *lov_oinfo,
obd_count oa_bufs, struct brw_page *pga)
{
.o_pool_del = lov_pool_del,
.o_getref = lov_getref,
.o_putref = lov_putref,
- .o_sync_fs = lov_sync_fs,
};
static quota_interface_t *quota_interface;