static int barrier_freeze(const struct lu_env *env,
struct barrier_instance *barrier, bool phase1)
{
static int barrier_freeze(const struct lu_env *env,
struct barrier_instance *barrier, bool phase1)
{
if (likely(barrier->bi_status != BS_FREEZING_P1 &&
barrier->bi_status != BS_FREEZING_P2 &&
barrier->bi_status != BS_FROZEN) ||
if (likely(barrier->bi_status != BS_FREEZING_P1 &&
barrier->bi_status != BS_FREEZING_P2 &&
barrier->bi_status != BS_FROZEN) ||
if (OBD_FAIL_CHECK(OBD_FAIL_BARRIER_FAILURE))
GOTO(fini, rc = -EINVAL);
if (OBD_FAIL_CHECK(OBD_FAIL_BARRIER_FAILURE))
GOTO(fini, rc = -EINVAL);
rc = barrier_freeze(&env, barrier,
desc->lgbd_status == BS_FREEZING_P1);
break;
rc = barrier_freeze(&env, barrier,
desc->lgbd_status == BS_FREEZING_P1);
break;
lvb->lvb_index = barrier_dev_idx(barrier);
CDEBUG(D_SNAPSHOT, "%s: handled barrier request: status %u, "
lvb->lvb_index = barrier_dev_idx(barrier);
CDEBUG(D_SNAPSHOT, "%s: handled barrier request: status %u, "
lvb->lvb_status, barrier->bi_deadline, rc);
barrier_instance_put(barrier);
lvb->lvb_status, barrier->bi_deadline, rc);
barrier_instance_put(barrier);