req_capsule_set_size(tsi->tsi_pill, &RMF_SHORT_IO,
RCL_SERVER,
- (body->oa.o_flags & OBD_FL_SHORT_IO) ?
+ (body->oa.o_valid & OBD_MD_FLFLAGS &&
+ body->oa.o_flags & OBD_FL_SHORT_IO) ?
remote_nb[0].rnb_len : 0);
}
if (rc != 0)
GOTO(out_lock, rc);
- if (body->oa.o_flags & OBD_FL_SHORT_IO) {
+ if (body->oa.o_valid & OBD_MD_FLFLAGS &&
+ body->oa.o_flags & OBD_FL_SHORT_IO) {
desc = NULL;
} else {
desc = ptlrpc_prep_bulk_exp(req, npages, ioobj_max_brw_get(ioo),
/* Check if client was evicted while we were doing i/o before touching
* network */
if (rc == 0) {
- if (body->oa.o_flags & OBD_FL_SHORT_IO) {
+ if (body->oa.o_valid & OBD_MD_FLFLAGS &&
+ body->oa.o_flags & OBD_FL_SHORT_IO) {
unsigned char *short_io_buf;
int short_io_size;
}
no_reply = rc != 0;
} else {
- if (body->oa.o_flags & OBD_FL_SHORT_IO)
+ if (body->oa.o_valid & OBD_MD_FLFLAGS &&
+ body->oa.o_flags & OBD_FL_SHORT_IO)
req_capsule_shrink(&req->rq_pill, &RMF_SHORT_IO, 0,
RCL_SERVER);
}
objcount, ioo, remote_nb, &npages, local_nb);
if (rc < 0)
GOTO(out_lock, rc);
- if (body->oa.o_flags & OBD_FL_SHORT_IO) {
+ if (body->oa.o_valid & OBD_MD_FLFLAGS &&
+ body->oa.o_flags & OBD_FL_SHORT_IO) {
unsigned int short_io_size;
unsigned char *short_io_buf;