RETURN(PTR_ERR(th));
/* off is changed, use tmp value */
off = fed->fed_lr_off;
- dt_declare_record_write(env, ofd->ofd_last_rcvd, sizeof(*lcd),
- off, th, BYPASS_CAPA);
+ dt_declare_record_write(env, ofd->ofd_last_rcvd, sizeof(*lcd), off, th);
err = filter_trans_start(env, ofd, th);
if (err)
RETURN(err);
GOTO(free, rc = PTR_ERR(th));
/* declare last_rcvd write */
dt_declare_record_write(env, ofd->ofd_last_rcvd, sizeof(*lcd),
- fed->fed_lr_off, th, BYPASS_CAPA);
+ fed->fed_lr_off, th);
/* declare header write */
dt_declare_record_write(env, ofd->ofd_last_rcvd,
- sizeof(ofd->ofd_fsd), 0, th, BYPASS_CAPA);
+ sizeof(ofd->ofd_fsd), 0, th);
rc = filter_trans_start(env, ofd, th);
if (rc)
if (IS_ERR(th))
RETURN(PTR_ERR(th));
rc = dt_declare_record_write(env, ofd->ofd_groups_file,
- buf.lb_len, off, th, BYPASS_CAPA);
+ buf.lb_len, off, th);
LASSERT(rc == 0);
rc = filter_trans_start(env, ofd, th);
if (rc)
RETURN(rc);
- rc = dt_record_write(env, ofd->ofd_groups_file, &buf, &off, th, 1);
+ rc = dt_record_write(env, ofd->ofd_groups_file, &buf, &off,
+ th, BYPASS_CAPA, 1);
if (rc)
CERROR("write group "LPU64" last objid: rc = %d\n", group, rc);
fsd_cpu_to_le(&ofd->ofd_fsd, &info->fti_fsd);
- rc = dt_record_write(env, ofd->ofd_last_rcvd, &buf, &off, th, 1);
+ rc = dt_record_write(env, ofd->ofd_last_rcvd, &buf,
+ &off, th, BYPASS_CAPA, 1);
CDEBUG(D_INFO, "write last_rcvd header rc = %d:\n"
"uuid = %s\nlast_transno = "LPU64"\n",
rc, ofd->ofd_fsd.lsd_uuid, ofd->ofd_fsd.lsd_last_transno);
buf.lb_buf = &info->fti_fsd;
buf.lb_len = sizeof(info->fti_fsd);
- rc = dt_record_write(env, ofd->ofd_last_rcvd, &buf, off, th, 1);
+ rc = dt_record_write(env, ofd->ofd_last_rcvd, &buf,
+ off, th, BYPASS_CAPA, 1);
return rc;
}
if (IS_ERR(th))
RETURN(PTR_ERR(th));
dt_declare_record_write(env, ofd->ofd_last_rcvd,
- sizeof(ofd->ofd_fsd), 0, th, BYPASS_CAPA);
+ sizeof(ofd->ofd_fsd), 0, th);
rc = filter_trans_start(env, ofd, th);
if (rc)
RETURN(rc);
#endif
int rc;
- rc = dt_attr_get(env, ofd->ofd_last_rcvd, &info->fti_attr,
- BYPASS_CAPA);
+ rc = dt_attr_get(env, ofd->ofd_last_rcvd, &info->fti_attr, BYPASS_CAPA);
if (rc)
RETURN(rc);
and prepare the latter */
for (i = 0, j = 0; i < niocount; i++) {
rc = dt_bufs_get(env, filter_object_child(fo),
- nb + i, res + j);
+ nb + i, res + j, 0,
+ filter_object_capa(env, fo));
LASSERT(rc > 0);
LASSERT(rc < PTLRPC_MAX_BRW_PAGES);
/* correct index for local buffers to continue with */
/* parse remote buffers to local buffers and prepare the latter */
for (i = 0, j = 0; i < obj->ioo_bufcnt; i++) {
rc = dt_bufs_get(env, filter_object_child(fo),
- nb + i, res + j);
+ nb + i, res + j, 1,
+ filter_object_capa(env, fo));
LASSERT(rc > 0);
LASSERT(rc < PTLRPC_MAX_BRW_PAGES);
/* correct index for local buffers to continue with */
LASSERT(*nr_local > 0 && *nr_local <= PTLRPC_MAX_BRW_PAGES);
spin_lock(&exp->exp_obd->obd_osfs_lock);
- filter_grant_incoming(exp, oa);
+ filter_grant_incoming(env, exp, oa);
left = filter_grant_space_left(env, exp);
rc = filter_grant_check(env, exp, oa, objcount, obj, nb,
if (oa && oa->o_valid & OBD_MD_FLGRANT) {
struct obd_device *obd = filter_obd(ofd);
spin_lock(&obd->obd_osfs_lock);
- filter_grant_incoming(exp, oa);
-
- oa->o_grant = 0;
+ filter_grant_incoming(&env, exp, oa);
+ if (!(oa->o_flags & OBD_FL_SHRINK_GRANT))
+ oa->o_grant = 0;
spin_unlock(&obd->obd_osfs_lock);
}
rc = filter_preprw_read(&env, ofd, &info->fti_fid,
LASSERT(rc == 0);
if (la->la_valid) {
- rc = dt_declare_attr_set(env, filter_object_child(fo), la,
- th, filter_object_capa(env, fo));
+ rc = dt_declare_attr_set(env, filter_object_child(fo), la, th);
LASSERT(rc == 0);
}
LASSERT(rc == 0);
if (la->la_valid) {
- rc = dt_attr_set(env, filter_object_child(fo), la, th);
+ rc = dt_attr_set(env, filter_object_child(fo), la, th,
+ filter_object_capa(env, fo));
LASSERT(rc == 0);
}
if (IS_ERR(th))
RETURN(PTR_ERR(th));
- rc = dt_declare_attr_set(env, filter_object_child(fo), la, th,
- filter_object_capa(env, fo));
+ rc = dt_declare_attr_set(env, filter_object_child(fo), la, th);
LASSERT(rc == 0);
rc = filter_trans_start(env, ofd, th);
if (rc)
RETURN(rc);
- rc = dt_attr_set(env, filter_object_child(fo), la, th);
+ rc = dt_attr_set(env, filter_object_child(fo), la, th,
+ filter_object_capa(env, fo));
filter_trans_stop(env, ofd, th);
if (IS_ERR(th))
RETURN(PTR_ERR(th));
- rc = dt_declare_attr_set(env, filter_object_child(fo), &attr, th,
- filter_object_capa(env, fo));
+ rc = dt_declare_attr_set(env, filter_object_child(fo), &attr, th);
LASSERT(rc == 0);
rc = filter_trans_start(env, ofd, th);
if (rc)
RETURN(rc);
- rc = dt_attr_set(env, filter_object_child(fo), &attr, th);
+ rc = dt_attr_set(env, filter_object_child(fo), &attr, th,
+ filter_object_capa(env, fo));
filter_trans_stop(env, ofd, th);
/* declare last_rcvd update */
fed = &info->fti_exp->exp_filter_data;
- rc = dt_declare_record_write(env, ofd->ofd_last_rcvd, sizeof(*fed->fed_lcd),
- fed->fed_lr_off, th, BYPASS_CAPA);
+ rc = dt_declare_record_write(env, ofd->ofd_last_rcvd,
+ sizeof(*fed->fed_lcd),
+ fed->fed_lr_off, th);
/* declare last_rcvd header update */
rc = dt_declare_record_write(env, ofd->ofd_last_rcvd,
- sizeof(ofd->ofd_fsd), 0, th, BYPASS_CAPA);
+ sizeof(ofd->ofd_fsd), 0, th);
LASSERT(rc == 0);
return th;