/* llapi_layout user interface */
-static inline const char *lcm_flags_string(__u16 flags)
-{
- switch (flags & LCM_FL_FLR_MASK) {
- case LCM_FL_NOT_FLR:
- return "not_flr";
- case LCM_FL_RDONLY:
- return "ro";
- case LCM_FL_WRITE_PENDING:
- return "wp";
- case LCM_FL_SYNC_PENDING:
- return "sp";
- default:
- return "";
- }
-}
-
/**
* An array element storing component info to be resynced during mirror
* resynchronization.
*/
int llapi_layout_flags_set(struct llapi_layout *layout, uint32_t flags);
int llapi_layout_flags_get(struct llapi_layout *layout, uint32_t *flags);
+const char *llapi_layout_flags_string(uint32_t flags);
/**
* llapi_layout_mirror_count_get() - Get mirror count from the header of
*/
enum lov_comp_md_flags {
/* the least 2 bits are used by FLR to record file state */
- LCM_FL_NOT_FLR = 0,
+ LCM_FL_NONE = 0,
LCM_FL_RDONLY = 1,
LCM_FL_WRITE_PENDING = 2,
LCM_FL_SYNC_PENDING = 3,
LASSERT(lo->ldo_is_composite);
- if (lo->ldo_flr_state != LCM_FL_NOT_FLR)
+ if (lo->ldo_flr_state != LCM_FL_NONE)
RETURN(-EBUSY);
rc = lod_verify_striping(d, lo, buf, false);
LASSERT(lo->ldo_is_composite);
- if (lo->ldo_flr_state != LCM_FL_NOT_FLR)
+ if (lo->ldo_flr_state != LCM_FL_NONE)
RETURN(-EBUSY);
magic = comp_v1->lcm_magic;
lcm->lcm_size = cpu_to_le32(size);
lcm->lcm_layout_gen = cpu_to_le32(le16_to_cpu(
lmm_save->lmm_layout_gen));
- lcm->lcm_flags = cpu_to_le16(LCM_FL_NOT_FLR);
+ lcm->lcm_flags = cpu_to_le16(LCM_FL_NONE);
lcm->lcm_entry_count = cpu_to_le16(1);
lcm->lcm_mirror_count = 0;
lcm->lcm_size = cpu_to_le32(size);
lcm->lcm_entry_count = cpu_to_le16(cur_entry_count + merge_entry_count);
lcm->lcm_mirror_count = cpu_to_le16(mirror_count);
- if ((le16_to_cpu(lcm->lcm_flags) & LCM_FL_FLR_MASK) == LCM_FL_NOT_FLR)
+ if ((le16_to_cpu(lcm->lcm_flags) & LCM_FL_FLR_MASK) == LCM_FL_NONE)
lcm->lcm_flags = cpu_to_le32(LCM_FL_RDONLY);
LASSERT(dt_write_locked(env, dt_object_child(dt)));
int i, rc;
ENTRY;
- LASSERT(lo->ldo_flr_state == LCM_FL_NOT_FLR);
+ LASSERT(lo->ldo_flr_state == LCM_FL_NONE);
/*
* In case the client is passing lovea, which only happens during
GOTO(out, rc);
switch (lo->ldo_flr_state) {
- case LCM_FL_NOT_FLR:
+ case LCM_FL_NONE:
rc = lod_declare_update_plain(env, lo, mlc->mlc_intent,
&mlc->mlc_buf, th);
break;
static inline unsigned lov_flr_state(const struct lov_object *lov)
{
if (lov->lo_type != LLT_COMP)
- return LCM_FL_NOT_FLR;
+ return LCM_FL_NONE;
return lov->u.composite.lo_flags & LCM_FL_FLR_MASK;
}
static inline bool lov_is_flr(const struct lov_object *lov)
{
- return lov_flr_state(lov) != LCM_FL_NOT_FLR;
+ return lov_flr_state(lov) != LCM_FL_NONE;
}
static inline struct lov_layout_entry *lov_entry(struct lov_object *lov, int i)
comp->lo_entry_count = lsm->lsm_entry_count;
comp->lo_preferred_mirror = -1;
- if (equi(flr_state == LCM_FL_NOT_FLR, comp->lo_mirror_count > 1))
+ if (equi(flr_state == LCM_FL_NONE, comp->lo_mirror_count > 1))
RETURN(-EINVAL);
OBD_ALLOC(comp->lo_mirrors,
lle->lle_extent = &lle->lle_lsme->lsme_extent;
lle->lle_valid = !(lle->lle_lsme->lsme_flags & LCME_FL_STALE);
- if (flr_state != LCM_FL_NOT_FLR)
+ if (flr_state != LCM_FL_NONE)
mirror_id = mirror_id_of(lle->lle_lsme->lsme_id);
lre = &comp->lo_mirrors[j];
comp_rem->lcm_entry_count = cpu_to_le32(comp_cnt - count);
comp_rem->lcm_size = cpu_to_le32(lmm_size - lmm_size_vic);
if (!comp_rem->lcm_mirror_count)
- comp_rem->lcm_flags = cpu_to_le16(LCM_FL_NOT_FLR);
+ comp_rem->lcm_flags = cpu_to_le16(LCM_FL_NONE);
memset(comp_vic, 0, sizeof(*comp_v1));
comp_vic->lcm_magic = cpu_to_le32(LOV_MAGIC_COMP_V1);
comp_vic->lcm_mirror_count = 0;
comp_vic->lcm_entry_count = cpu_to_le32(count);
comp_vic->lcm_size = cpu_to_le32(lmm_size_vic + sizeof(*comp_vic));
- comp_vic->lcm_flags = cpu_to_le16(LCM_FL_NOT_FLR);
+ comp_vic->lcm_flags = cpu_to_le16(LCM_FL_NONE);
comp_vic->lcm_layout_gen = 0;
offset = sizeof(*comp_v1) + sizeof(*entry) * comp_cnt;
/* please refer to HLD of FLR for state transition */
switch (flr_state) {
- case LCM_FL_NOT_FLR:
+ case LCM_FL_NONE:
rc = mdd_layout_instantiate_component(env, obj, mlc, handle);
break;
case LCM_FL_WRITE_PENDING:
LASSERTF((int)sizeof(((struct lov_comp_md_v1 *)0)->lcm_entries[0]) == 48, "found %lld\n",
(long long)(int)sizeof(((struct lov_comp_md_v1 *)0)->lcm_entries[0]));
CLASSERT(LOV_MAGIC_COMP_V1 == (0x0BD60000 | 0x0BD0));
- LASSERTF(LCM_FL_NOT_FLR == 0, "found %lld\n",
- (long long)LCM_FL_NOT_FLR);
+ LASSERTF(LCM_FL_NONE == 0, "found %lld\n",
+ (long long)LCM_FL_NONE);
LASSERTF(LCM_FL_RDONLY == 1, "found %lld\n",
(long long)LCM_FL_RDONLY);
LASSERTF(LCM_FL_WRITE_PENDING == 2, "found %lld\n",
flr_state &= LCM_FL_FLR_MASK;
switch (flr_state) {
- case LCM_FL_NOT_FLR:
+ case LCM_FL_NONE:
rc = -EINVAL;
fprintf(stderr, "%s: '%s' file state error: %s.\n",
- progname, fname, lcm_flags_string(flr_state));
+ progname, fname, llapi_layout_flags_string(flr_state));
goto free_layout;
default:
break;
flr_state &= LCM_FL_FLR_MASK;
switch (flr_state) {
- case LCM_FL_NOT_FLR:
+ case LCM_FL_NONE:
rc = -EINVAL;
case LCM_FL_RDONLY:
- fprintf(stderr, "%s: '%s' file state error: %s.\n",
- progname, fname, lcm_flags_string(flr_state));
+ fprintf(stderr, "%s: '%s' file state error: %s\n", progname,
+ fname, llapi_layout_flags_string(flr_state));
goto close_fd;
default:
break;
flr_state &= LCM_FL_FLR_MASK;
switch (flr_state) {
- case LCM_FL_NOT_FLR:
+ case LCM_FL_NONE:
rc = -EINVAL;
fprintf(stderr, "%s: '%s' file state error: %s.\n",
- progname, fname, lcm_flags_string(flr_state));
+ progname, fname, llapi_layout_flags_string(flr_state));
goto free_layout;
default:
break;
"mirrored" : "");
else
llapi_printf(LLAPI_MSG_NORMAL,
- "%2slcm_flags: %s\n",
- " ", lcm_flags_string(comp_v1->lcm_flags));
+ "%2slcm_flags: %s\n", " ",
+ llapi_layout_flags_string(comp_v1->lcm_flags));
}
if (verbose & VERBOSE_GENERATION) {
return 0;
}
+const char *llapi_layout_flags_string(uint32_t flags)
+{
+ switch (flags & LCM_FL_FLR_MASK) {
+ case LCM_FL_RDONLY:
+ return "ro";
+ case LCM_FL_WRITE_PENDING:
+ return "wp";
+ case LCM_FL_SYNC_PENDING:
+ return "sp";
+ }
+
+ return "0";
+}
+
/**
* llapi_layout_mirror_count_is_valid() - Check the validity of mirror count.
* @count: Mirror count value to be checked.
CHECK_CDEFINE(LOV_MAGIC_COMP_V1);
- CHECK_VALUE(LCM_FL_NOT_FLR);
+ CHECK_VALUE(LCM_FL_NONE);
CHECK_VALUE(LCM_FL_RDONLY);
CHECK_VALUE(LCM_FL_WRITE_PENDING);
CHECK_VALUE(LCM_FL_SYNC_PENDING);
LASSERTF((int)sizeof(((struct lov_comp_md_v1 *)0)->lcm_entries[0]) == 48, "found %lld\n",
(long long)(int)sizeof(((struct lov_comp_md_v1 *)0)->lcm_entries[0]));
CLASSERT(LOV_MAGIC_COMP_V1 == (0x0BD60000 | 0x0BD0));
- LASSERTF(LCM_FL_NOT_FLR == 0, "found %lld\n",
- (long long)LCM_FL_NOT_FLR);
+ LASSERTF(LCM_FL_NONE == 0, "found %lld\n",
+ (long long)LCM_FL_NONE);
LASSERTF(LCM_FL_RDONLY == 1, "found %lld\n",
(long long)LCM_FL_RDONLY);
LASSERTF(LCM_FL_WRITE_PENDING == 2, "found %lld\n",