+ LASSERT(lu_seq_range_is_sane(space));
+ if (seq->lss_cli->lcs_srv == NULL) {
+ struct lu_server_fld *fld;
+
+ /* Insert it to the local FLDB */
+ fld = seq->lss_site->ss_server_fld;
+ mutex_lock(&fld->lsf_lock);
+ rc = fld_insert_entry(env, fld, space);
+ mutex_unlock(&fld->lsf_lock);
+ }
+ }
+
+ if (lu_seq_range_is_zero(&seq->lss_lowater_set))
+ __seq_set_init(env, seq);
+
+ RETURN(rc);
+}
+EXPORT_SYMBOL(seq_server_check_and_alloc_super);
+
+static int __seq_server_alloc_meta(struct lu_server_seq *seq,
+ struct lu_seq_range *out,
+ const struct lu_env *env)
+{
+ struct lu_seq_range *space = &seq->lss_space;
+ int rc = 0;
+
+ ENTRY;
+
+ LASSERT(lu_seq_range_is_sane(space));
+
+ rc = seq_server_check_and_alloc_super(env, seq);
+ if (rc < 0) {
+ CERROR("%s: Allocated super-sequence failed: rc = %d\n",
+ seq->lss_name, rc);
+ RETURN(rc);