}
case CIT_LSEEK: {
- if (!OBD_FAIL_CHECK(OBD_FAIL_LOV_SKIP_CHECK_COMPR) &&
- io->ci_compressed_file)
- GOTO(out, result = -EOPNOTSUPP);
lio->lis_pos = io->u.ci_lseek.ls_start;
lio->lis_endpos = OBD_OBJECT_EOF;
break;
int index = lov_comp_entry(sub->sub_subio_index);
int stripe = lov_comp_stripe(sub->sub_subio_index);
+ io->ci_compressed_file = parent->ci_compressed_file;
+
switch (io->ci_type) {
case CIT_SETATTR: {
io->u.ci_setattr.sa_attr = parent->u.ci_setattr.sa_attr;
}
lsme = lsm->lsm_entries[0];
- /* No support for compressed yet. */
- if (!OBD_FAIL_CHECK(OBD_FAIL_LOV_SKIP_CHECK_COMPR) &&
- lsme->lsme_compr_type != LL_COMPR_TYPE_NONE)
- GOTO(out_lsm, rc = -EOPNOTSUPP);
if (!(fiemap->fm_flags & FIEMAP_FLAG_DEVICE_ORDER)) {
/**
&fs.fs_start_stripe);
}
+ fmkey->lfik_oa.o_layout_compr.ol_compr_type =
+ lsme->lsme_compr_type;
+
/* Check each stripe */
for (cur_stripe = fs.fs_start_stripe; stripe_count > 0;
--stripe_count,
RETURN(0);
}
+ if (!OBD_FAIL_CHECK_RESET(OBD_FAIL_LOV_SKIP_CHECK_COMPR,
+ OBD_FAIL_LOV_SKIP_CHECK_COMPR)) {
+ /* OST not support for compressed file */
+ if (!(exp_connect_flags2(exp) & OBD_CONNECT2_COMPRESS) &&
+ io->ci_compressed_file)
+ RETURN(-EOPNOTSUPP);
+ }
+
memset(oa, 0, sizeof(*oa));
oa->o_oi = loi->loi_oi;
oa->o_valid = OBD_MD_FLID | OBD_MD_FLGROUP;
int rc;
ENTRY;
+ if (!OBD_FAIL_CHECK_RESET(OBD_FAIL_LOV_SKIP_CHECK_COMPR,
+ OBD_FAIL_LOV_SKIP_CHECK_COMPR)) {
+ /* OST not support for compressed file */
+ if (!(exp_connect_flags2(exp) & OBD_CONNECT2_COMPRESS) &&
+ (fmkey->lfik_oa.o_layout_compr.ol_compr_type !=
+ LL_COMPR_TYPE_NONE))
+ RETURN(-EOPNOTSUPP);
+ }
+
fmkey->lfik_oa.o_oi = cl2osc(obj)->oo_oinfo->loi_oi;
if (!(fmkey->lfik_fiemap.fm_flags & FIEMAP_FLAG_SYNC))
goto skip_locking;