ldlm_type_t||enum ldlm_type
ldlm_wire_policy_data_t||union ldlm_wire_policy_data
libcfs_debug_vmsg2||libcfs_debug_msg
+li_advice||lio_advice
+li_end||lio_end
+li_extent||lai_extent
+li_fid||lio_fid
+li_opc||lai_opc
+li_start||lio_start
lnet_acceptor_connreq_t||struct lnet_acceptor_connreq
lnet_counters_t||struct lnet_counters
lnet_handle_wire_t||struct lnet_handle_wire
unsigned int fi_nr_written;
} ci_fsync;
struct cl_ladvise_io {
- __u64 li_start;
- __u64 li_end;
+ __u64 lio_start;
+ __u64 lio_end;
/** file system level fid */
- struct lu_fid *li_fid;
- enum lu_ladvise_type li_advice;
- __u64 li_flags;
+ struct lu_fid *lio_fid;
+ enum lu_ladvise_type lio_advice;
+ __u64 lio_flags;
} ci_ladvise;
struct cl_lseek_io {
loff_t ls_start;
/* enqueue layout lock with intent */
struct layout_intent {
- __u32 li_opc; /* intent operation for enqueue, read, write etc */
- __u32 li_flags;
- struct lu_extent li_extent;
+ __u32 lai_opc; /* intent operation for enqueue, read, write etc */
+ __u32 lai_flags;
+ struct lu_extent lai_extent;
} __attribute__((packed));
/**
/* initialize parameters for ladvise */
lio = &io->u.ci_ladvise;
- lio->li_start = ladvise->lla_start;
- lio->li_end = ladvise->lla_end;
- lio->li_fid = ll_inode2fid(inode);
- lio->li_advice = ladvise->lla_advice;
- lio->li_flags = flags;
+ lio->lio_start = ladvise->lla_start;
+ lio->lio_end = ladvise->lla_end;
+ lio->lio_fid = ll_inode2fid(inode);
+ lio->lio_advice = ladvise->lla_advice;
+ lio->lio_flags = flags;
if (cl_io_init(env, io, CIT_LADVISE, io->ci_obj) == 0)
rc = cl_io_loop(env, io);
memset(&it, 0, sizeof(it));
it.it_op = IT_LAYOUT;
- if (intent->li_opc == LAYOUT_INTENT_WRITE ||
- intent->li_opc == LAYOUT_INTENT_TRUNC)
+ if (intent->lai_opc == LAYOUT_INTENT_WRITE ||
+ intent->lai_opc == LAYOUT_INTENT_TRUNC)
it.it_flags = FMODE_WRITE;
LDLM_DEBUG_NOLOCK("%s: requeue layout lock for file "DFID"(%p)",
struct ll_sb_info *sbi = ll_i2sbi(inode);
struct lustre_handle lockh;
struct layout_intent intent = {
- .li_opc = LAYOUT_INTENT_ACCESS,
+ .lai_opc = LAYOUT_INTENT_ACCESS,
};
enum ldlm_mode mode;
int rc;
struct lu_extent *ext)
{
struct layout_intent intent = {
- .li_opc = opc,
- .li_extent.e_start = ext->e_start,
- .li_extent.e_end = ext->e_end,
+ .lai_opc = opc,
+ .lai_extent.e_start = ext->e_start,
+ .lai_extent.e_end = ext->e_end,
};
int rc;
ENTRY;
lod_comp = &lo->ldo_comp_entries[lo->ldo_comp_cnt - 1];
if (lo->ldo_comp_cnt > 1 &&
lod_comp->llc_extent.e_end != OBD_OBJECT_EOF &&
- lod_comp->llc_extent.e_end < layout->li_extent.e_end) {
+ lod_comp->llc_extent.e_end < layout->lai_extent.e_end) {
CDEBUG_LIMIT(replay ? D_ERROR : D_LAYOUT,
"%s: the defined layout [0, %#llx) does not "
"covers the write range "DEXT"\n",
lod2obd(d)->obd_name, lod_comp->llc_extent.e_end,
- PEXT(&layout->li_extent));
+ PEXT(&layout->lai_extent));
GOTO(out, rc = -EINVAL);
}
CDEBUG(D_LAYOUT, "%s: "DFID": update components "DEXT"\n",
lod2obd(d)->obd_name, PFID(lod_object_fid(lo)),
- PEXT(&layout->li_extent));
+ PEXT(&layout->lai_extent));
if (!replay) {
- rc = lod_declare_update_extents(env, lo, &layout->li_extent,
- th, 0, layout->li_opc == LAYOUT_INTENT_WRITE);
+ rc = lod_declare_update_extents(env, lo, &layout->lai_extent,
+ th, 0, layout->lai_opc == LAYOUT_INTENT_WRITE);
if (rc < 0)
GOTO(out, rc);
else if (rc)
for (i = 0; i < lo->ldo_comp_cnt; i++) {
lod_comp = &lo->ldo_comp_entries[i];
- if (lod_comp->llc_extent.e_start >= layout->li_extent.e_end)
+ if (lod_comp->llc_extent.e_start >= layout->lai_extent.e_end)
break;
if (!replay) {
struct layout_intent *intent = mlc->mlc_intent;
int rc;
- switch (intent->li_opc) {
+ switch (intent->lai_opc) {
case LAYOUT_INTENT_PCCRO_SET:
rc = lod_declare_pccro_set(env, dt, th);
break;
if (mlc->mlc_opc == MD_LAYOUT_WRITE) {
struct layout_intent *layout = mlc->mlc_intent;
- int write = layout->li_opc == LAYOUT_INTENT_WRITE;
+ int write = layout->lai_opc == LAYOUT_INTENT_WRITE;
int picked;
- extent = layout->li_extent;
+ extent = layout->lai_extent;
CDEBUG(D_LAYOUT, DFID": trying to write :"DEXT"\n",
PFID(lod_object_fid(lo)), PEXT(&extent));
if (rc < 0)
GOTO(out, rc);
- if (layout->li_opc == LAYOUT_INTENT_TRUNC) {
+ if (layout->lai_opc == LAYOUT_INTENT_TRUNC) {
/**
* trunc transfers [0, size) in the intent extent, we'd
* stale components overlapping [size, eof).
GOTO(out, rc);
/* restore truncate intent extent */
- if (layout->li_opc == LAYOUT_INTENT_TRUNC)
+ if (layout->lai_opc == LAYOUT_INTENT_TRUNC)
extent.e_end = extent.e_start;
/* instantiate components for the picked mirror, start from 0 */
if (mlc->mlc_opc == MD_LAYOUT_WRITE) {
struct layout_intent *layout = mlc->mlc_intent;
- int write = layout->li_opc == LAYOUT_INTENT_WRITE;
+ int write = layout->lai_opc == LAYOUT_INTENT_WRITE;
- LASSERT(mlc->mlc_intent != NULL);
+ LASSERT(layout != NULL);
- extent = mlc->mlc_intent->li_extent;
+ extent = layout->lai_extent;
CDEBUG(D_LAYOUT, DFID": intent to write: "DEXT"\n",
PFID(lod_object_fid(lo)), PEXT(&extent));
if (rc < 0)
GOTO(out, rc);
- if (mlc->mlc_intent->li_opc == LAYOUT_INTENT_TRUNC) {
+ if (layout->lai_opc == LAYOUT_INTENT_TRUNC) {
/**
* trunc transfers [0, size) in the intent extent, we'd
* stale components overlapping [size, eof).
* instantiate [0, mlc->mlc_intent->e_end) */
/* restore truncate intent extent */
- if (mlc->mlc_intent->li_opc == LAYOUT_INTENT_TRUNC)
+ if (layout->lai_opc == LAYOUT_INTENT_TRUNC)
extent.e_end = extent.e_start;
extent.e_start = 0;
if (mlc->mlc_opc == MD_LAYOUT_WRITE) {
struct layout_intent *intent = mlc->mlc_intent;
- if (intent->li_opc == LAYOUT_INTENT_PCCRO_SET ||
- intent->li_opc == LAYOUT_INTENT_PCCRO_CLEAR) {
+ if (intent->lai_opc == LAYOUT_INTENT_PCCRO_SET ||
+ intent->lai_opc == LAYOUT_INTENT_PCCRO_CLEAR) {
if (!S_ISREG(dt->do_lu.lo_header->loh_attr))
RETURN(-EINVAL);
}
case CIT_LADVISE: {
- lio->lis_pos = io->u.ci_ladvise.li_start;
- lio->lis_endpos = io->u.ci_ladvise.li_end;
+ lio->lis_pos = io->u.ci_ladvise.lio_start;
+ lio->lis_endpos = io->u.ci_ladvise.lio_end;
break;
}
break;
}
case CIT_LADVISE: {
- io->u.ci_ladvise.li_start = start;
- io->u.ci_ladvise.li_end = end;
- io->u.ci_ladvise.li_fid = parent->u.ci_ladvise.li_fid;
- io->u.ci_ladvise.li_advice = parent->u.ci_ladvise.li_advice;
- io->u.ci_ladvise.li_flags = parent->u.ci_ladvise.li_flags;
+ io->u.ci_ladvise.lio_start = start;
+ io->u.ci_ladvise.lio_end = end;
+ io->u.ci_ladvise.lio_fid = parent->u.ci_ladvise.lio_fid;
+ io->u.ci_ladvise.lio_advice = parent->u.ci_ladvise.lio_advice;
+ io->u.ci_ladvise.lio_flags = parent->u.ci_ladvise.lio_flags;
break;
}
case CIT_LSEEK: {
fl = LU_XATTR_REPLACE;
if (mlc->mlc_opc == MD_LAYOUT_WRITE &&
- mlc->mlc_intent->li_extent.e_end > som->lsa_size) {
- som->lsa_size = mlc->mlc_intent->li_extent.e_end + 1;
+ mlc->mlc_intent->lai_extent.e_end > som->lsa_size) {
+ som->lsa_size = mlc->mlc_intent->lai_extent.e_end + 1;
fl = LU_XATTR_REPLACE;
}
}
if (rc > 0) {
lustre_som_swab(som);
- if (mlc->mlc_intent->li_extent.e_end > som->lsa_size) {
+ if (mlc->mlc_intent->lai_extent.e_end > som->lsa_size) {
som->lsa_size =
- mlc->mlc_intent->li_extent.e_end + 1;
+ mlc->mlc_intent->lai_extent.e_end + 1;
fl = LU_XATTR_REPLACE;
}
}
case MD_LAYOUT_WRITE: {
struct layout_intent *intent = mlc->mlc_intent;
- if (intent->li_opc == LAYOUT_INTENT_PCCRO_SET ||
- intent->li_opc == LAYOUT_INTENT_PCCRO_CLEAR)
+ if (intent->lai_opc == LAYOUT_INTENT_PCCRO_SET ||
+ intent->lai_opc == LAYOUT_INTENT_PCCRO_CLEAR)
RETURN(mdd_layout_update_pccro(env, o, mlc));
}
case MD_LAYOUT_RESYNC:
CDEBUG(D_INFO, DFID "got layout change request from client: "
"opc:%u flags:%#x extent "DEXT"\n",
- PFID(fid), intent->li_opc, intent->li_flags,
- PEXT(&intent->li_extent));
+ PFID(fid), intent->lai_opc, intent->lai_flags,
+ PEXT(&intent->lai_extent));
- switch (intent->li_opc) {
+ switch (intent->lai_opc) {
case LAYOUT_INTENT_TRUNC:
case LAYOUT_INTENT_WRITE:
case LAYOUT_INTENT_PCCRO_SET:
case LAYOUT_INTENT_RELEASE:
case LAYOUT_INTENT_RESTORE:
CERROR("%s: Unsupported layout intent opc %d\n",
- mdt_obd_name(info->mti_mdt), intent->li_opc);
+ mdt_obd_name(info->mti_mdt), intent->lai_opc);
RETURN(-ENOTSUPP);
default:
CERROR("%s: Unknown layout intent opc %d\n",
- mdt_obd_name(info->mti_mdt), intent->li_opc);
+ mdt_obd_name(info->mti_mdt), intent->lai_opc);
RETURN(-EINVAL);
}
memset(ladvise_hdr, 0, buf_size);
ladvise_hdr->lah_magic = LADVISE_MAGIC;
ladvise_hdr->lah_count = num_advise;
- ladvise_hdr->lah_flags = lio->li_flags;
+ ladvise_hdr->lah_flags = lio->lio_flags;
memset(oa, 0, sizeof(*oa));
oa->o_oi = loi->loi_oi;
oa->o_valid = OBD_MD_FLID | OBD_MD_FLGROUP;
- obdo_set_parent_fid(oa, lio->li_fid);
+ obdo_set_parent_fid(oa, lio->lio_fid);
ladvise = ladvise_hdr->lah_advise;
- ladvise->lla_start = lio->li_start;
- ladvise->lla_end = lio->li_end;
- ladvise->lla_advice = lio->li_advice;
+ ladvise->lla_start = lio->lio_start;
+ ladvise->lla_end = lio->lio_end;
+ ladvise->lla_advice = lio->lio_advice;
- if (lio->li_flags & LF_ASYNC) {
+ if (lio->lio_flags & LF_ASYNC) {
result = osc_ladvise_base(osc_export(cl2osc(obj)), oa,
ladvise_hdr, NULL, NULL, NULL);
} else {
int result = 0;
struct cl_ladvise_io *lio = &io->u.ci_ladvise;
- if ((!(lio->li_flags & LF_ASYNC)) && cbargs->opc_rpc_sent) {
+ if ((!(lio->lio_flags & LF_ASYNC)) && cbargs->opc_rpc_sent) {
wait_for_completion(&cbargs->opc_sync);
result = cbargs->opc_rc;
}
void lustre_swab_layout_intent(struct layout_intent *li)
{
- __swab32s(&li->li_opc);
- __swab32s(&li->li_flags);
- lustre_swab_lu_extent(&li->li_extent);
+ __swab32s(&li->lai_opc);
+ __swab32s(&li->lai_flags);
+ lustre_swab_lu_extent(&li->lai_extent);
}
void lustre_swab_hsm_progress_kernel(struct hsm_progress_kernel *hpk)
/* Checks for struct layout_intent */
LASSERTF((int)sizeof(struct layout_intent) == 24, "found %lld\n",
(long long)(int)sizeof(struct layout_intent));
- LASSERTF((int)offsetof(struct layout_intent, li_opc) == 0, "found %lld\n",
- (long long)(int)offsetof(struct layout_intent, li_opc));
- LASSERTF((int)sizeof(((struct layout_intent *)0)->li_opc) == 4, "found %lld\n",
- (long long)(int)sizeof(((struct layout_intent *)0)->li_opc));
- LASSERTF((int)offsetof(struct layout_intent, li_flags) == 4, "found %lld\n",
- (long long)(int)offsetof(struct layout_intent, li_flags));
- LASSERTF((int)sizeof(((struct layout_intent *)0)->li_flags) == 4, "found %lld\n",
- (long long)(int)sizeof(((struct layout_intent *)0)->li_flags));
- LASSERTF((int)offsetof(struct layout_intent, li_extent) == 8, "found %lld\n",
- (long long)(int)offsetof(struct layout_intent, li_extent));
- LASSERTF((int)sizeof(((struct layout_intent *)0)->li_extent) == 16, "found %lld\n",
- (long long)(int)sizeof(((struct layout_intent *)0)->li_extent));
+ LASSERTF((int)offsetof(struct layout_intent, lai_opc) == 0, "found %lld\n",
+ (long long)(int)offsetof(struct layout_intent, lai_opc));
+ LASSERTF((int)sizeof(((struct layout_intent *)0)->lai_opc) == 4, "found %lld\n",
+ (long long)(int)sizeof(((struct layout_intent *)0)->lai_opc));
+ LASSERTF((int)offsetof(struct layout_intent, lai_flags) == 4, "found %lld\n",
+ (long long)(int)offsetof(struct layout_intent, lai_flags));
+ LASSERTF((int)sizeof(((struct layout_intent *)0)->lai_flags) == 4, "found %lld\n",
+ (long long)(int)sizeof(((struct layout_intent *)0)->lai_flags));
+ LASSERTF((int)offsetof(struct layout_intent, lai_extent) == 8, "found %lld\n",
+ (long long)(int)offsetof(struct layout_intent, lai_extent));
+ LASSERTF((int)sizeof(((struct layout_intent *)0)->lai_extent) == 16, "found %lld\n",
+ (long long)(int)sizeof(((struct layout_intent *)0)->lai_extent));
LASSERTF(LAYOUT_INTENT_ACCESS == 0, "found %lld\n",
(long long)LAYOUT_INTENT_ACCESS);
LASSERTF(LAYOUT_INTENT_READ == 1, "found %lld\n",
{
BLANK_LINE();
CHECK_STRUCT(layout_intent);
- CHECK_MEMBER(layout_intent, li_opc);
- CHECK_MEMBER(layout_intent, li_flags);
- CHECK_MEMBER(layout_intent, li_extent);
+ CHECK_MEMBER(layout_intent, lai_opc);
+ CHECK_MEMBER(layout_intent, lai_flags);
+ CHECK_MEMBER(layout_intent, lai_extent);
CHECK_VALUE(LAYOUT_INTENT_ACCESS);
CHECK_VALUE(LAYOUT_INTENT_READ);
/* Checks for struct layout_intent */
LASSERTF((int)sizeof(struct layout_intent) == 24, "found %lld\n",
(long long)(int)sizeof(struct layout_intent));
- LASSERTF((int)offsetof(struct layout_intent, li_opc) == 0, "found %lld\n",
- (long long)(int)offsetof(struct layout_intent, li_opc));
- LASSERTF((int)sizeof(((struct layout_intent *)0)->li_opc) == 4, "found %lld\n",
- (long long)(int)sizeof(((struct layout_intent *)0)->li_opc));
- LASSERTF((int)offsetof(struct layout_intent, li_flags) == 4, "found %lld\n",
- (long long)(int)offsetof(struct layout_intent, li_flags));
- LASSERTF((int)sizeof(((struct layout_intent *)0)->li_flags) == 4, "found %lld\n",
- (long long)(int)sizeof(((struct layout_intent *)0)->li_flags));
- LASSERTF((int)offsetof(struct layout_intent, li_extent) == 8, "found %lld\n",
- (long long)(int)offsetof(struct layout_intent, li_extent));
- LASSERTF((int)sizeof(((struct layout_intent *)0)->li_extent) == 16, "found %lld\n",
- (long long)(int)sizeof(((struct layout_intent *)0)->li_extent));
+ LASSERTF((int)offsetof(struct layout_intent, lai_opc) == 0, "found %lld\n",
+ (long long)(int)offsetof(struct layout_intent, lai_opc));
+ LASSERTF((int)sizeof(((struct layout_intent *)0)->lai_opc) == 4, "found %lld\n",
+ (long long)(int)sizeof(((struct layout_intent *)0)->lai_opc));
+ LASSERTF((int)offsetof(struct layout_intent, lai_flags) == 4, "found %lld\n",
+ (long long)(int)offsetof(struct layout_intent, lai_flags));
+ LASSERTF((int)sizeof(((struct layout_intent *)0)->lai_flags) == 4, "found %lld\n",
+ (long long)(int)sizeof(((struct layout_intent *)0)->lai_flags));
+ LASSERTF((int)offsetof(struct layout_intent, lai_extent) == 8, "found %lld\n",
+ (long long)(int)offsetof(struct layout_intent, lai_extent));
+ LASSERTF((int)sizeof(((struct layout_intent *)0)->lai_extent) == 16, "found %lld\n",
+ (long long)(int)sizeof(((struct layout_intent *)0)->lai_extent));
LASSERTF(LAYOUT_INTENT_ACCESS == 0, "found %lld\n",
(long long)LAYOUT_INTENT_ACCESS);
LASSERTF(LAYOUT_INTENT_READ == 1, "found %lld\n",