int
seq_server_init(struct lu_server_seq *seq,
- struct dt_device *dev, int flags,
+ struct dt_device *dev,
const struct lu_context *ctx)
{
int rc;
seq->seq_dev = dev;
seq->seq_cli = NULL;
- seq->seq_flags = flags;
sema_init(&seq->seq_sem, 1);
seq->seq_space = LUSTRE_SEQ_SPACE_RANGE;
seq_proc_write_range(file, buffer, count,
data, &seq->seq_space);
- CDEBUG(D_WARNING, "sequences space range is changed "
+ CDEBUG(D_WARNING, "SEQ-MGR(srv): sequences space is changed "
"to ["LPU64"-"LPU64"]\n", seq->seq_space.lr_start,
seq->seq_space.lr_end);
seq_proc_write_range(file, buffer, count,
data, &seq->seq_super);
- CDEBUG(D_WARNING, "super-sequence range is changed to "
+ CDEBUG(D_WARNING, "SEQ-MGR(srv): super-sequence is changed to "
"["LPU64"-"LPU64"]\n", seq->seq_super.lr_start,
seq->seq_super.lr_end);
RETURN(rc);
}
+static int
+seq_proc_read_controller(char *page, char **start, off_t off,
+ int count, int *eof, void *data)
+{
+ struct lu_server_seq *seq = (struct lu_server_seq *)data;
+ int rc;
+ ENTRY;
+
+ LASSERT(seq != NULL);
+
+ *eof = 1;
+ if (seq->seq_cli) {
+ struct obd_export *exp = seq->seq_cli->seq_exp;
+
+ rc = snprintf(page, count, "%s\n",
+ exp->exp_client_uuid.uuid);
+ } else {
+ rc = snprintf(page, count, "<not assigned>\n");
+ }
+
+ RETURN(rc);
+}
+
struct lprocfs_vars seq_proc_list[] = {
- { "space", seq_proc_read_space, seq_proc_write_space, NULL },
- { "super", seq_proc_read_super, seq_proc_write_super, NULL },
+ { "space", seq_proc_read_space, seq_proc_write_space, NULL },
+ { "super", seq_proc_read_super, seq_proc_write_super, NULL },
+ { "controller", seq_proc_read_controller, NULL, NULL },
{ NULL }};
#endif
struct obd_export *seq_exp;
struct semaphore seq_sem;
- /* different flags. */
- int seq_flags;
-
/* range of allowed for allocation sequeces. When using lu_client_seq on
* clients, this contains meta-sequence range. And for servers this
* contains super-sequence range. */
* store). */
struct dt_device *seq_dev;
- /* different flags: LUSTRE_SEQ_CONTROLLER, etc. */
- int seq_flags;
-
/* seq related proc */
cfs_proc_dir_entry_t *seq_proc_entry;
#ifdef __KERNEL__
int seq_server_init(struct lu_server_seq *seq,
- struct dt_device *dev, int flags,
+ struct dt_device *dev,
const struct lu_context *ctx);
void seq_server_fini(struct lu_server_seq *seq,
#endif
int seq_client_init(struct lu_client_seq *seq,
- struct obd_export *exp,
- int flags);
+ struct obd_export *exp);
void seq_client_fini(struct lu_client_seq *seq);