* (C) Copyright 2012 Commissariat a l'energie atomique et aux energies
* alternatives
*
+ * Copyright (c) 2013, 2014, Intel Corporation.
*/
/*
* lustre/mdt/mdt_hsm_cdt_actions.c
hai->hai_cookie = cdt->cdt_last_cookie;
}
larr->arr_hai.hai_cookie = hai->hai_cookie;
- rc = llog_cat_add(env, lctxt->loc_handle, &larr->arr_hdr, NULL, NULL);
+ rc = llog_cat_add(env, lctxt->loc_handle, &larr->arr_hdr, NULL);
if (rc > 0)
rc = 0;
larr->arr_hdr.lrh_id = 0;
larr->arr_hdr.lrh_index = 0;
rc = llog_cat_add(env, llh->u.phd.phd_cat_handle, &larr->arr_hdr,
- NULL, NULL);
+ NULL);
larr->arr_hdr = saved_hdr;
RETURN(rc);
}
int aai_magic; /**< magic number */
bool aai_eof; /**< all done */
struct lu_env aai_env; /**< lustre env for llog */
- struct obd_device *aai_obd; /**< metadata device */
+ struct mdt_device *aai_mdt; /**< metadata device */
struct llog_ctxt *aai_ctxt; /**< llog context */
int aai_cat_index; /**< cata idx already shown */
int aai_index; /**< idx in cata shown */
struct agent_action_iterator *aai = s->private;
ENTRY;
- LASSERTF(aai->aai_magic == AGENT_ACTIONS_IT_MAGIC, "%08X",
+ LASSERTF(aai->aai_magic == AGENT_ACTIONS_IT_MAGIC, "%08X\n",
aai->aai_magic);
- aai->aai_ctxt = llog_get_context(aai->aai_obd, LLOG_AGENT_ORIG_CTXT);
+ aai->aai_ctxt = llog_get_context(mdt2obd_dev(aai->aai_mdt),
+ LLOG_AGENT_ORIG_CTXT);
if (aai->aai_ctxt == NULL || aai->aai_ctxt->loc_handle == NULL) {
CERROR("llog_get_context() failed\n");
RETURN(ERR_PTR(-ENOENT));
}
- CDEBUG(D_HSM, "llog succesfully initialized, start from "LPD64"\n",
+ CDEBUG(D_HSM, "llog successfully initialized, start from "LPD64"\n",
*pos);
/* first call = rewind */
if (*pos == 0) {
ENTRY;
aai = s->private;
- LASSERTF(aai->aai_magic == AGENT_ACTIONS_IT_MAGIC, "%08X",
+ LASSERTF(aai->aai_magic == AGENT_ACTIONS_IT_MAGIC, "%08X\n",
aai->aai_magic);
/* if rec already printed => skip */
static int mdt_hsm_actions_proc_show(struct seq_file *s, void *v)
{
struct agent_action_iterator *aai = s->private;
+ struct coordinator *cdt = &aai->aai_mdt->mdt_coordinator;
int rc;
ENTRY;
- LASSERTF(aai->aai_magic == AGENT_ACTIONS_IT_MAGIC, "%08X",
+ LASSERTF(aai->aai_magic == AGENT_ACTIONS_IT_MAGIC, "%08X\n",
aai->aai_magic);
CDEBUG(D_HSM, "show from cat %d index %d eof=%d\n",
if (aai->aai_eof)
RETURN(0);
+ mutex_lock(&cdt->cdt_llog_lock);
rc = llog_cat_process(&aai->aai_env, aai->aai_ctxt->loc_handle,
hsm_actions_show_cb, s,
- aai->aai_cat_index, aai->aai_index + 1);
+ aai->aai_cat_index, aai->aai_index);
+ mutex_unlock(&cdt->cdt_llog_lock);
if (rc == 0) /* all llog parsed */
aai->aai_eof = true;
if (rc == LLOG_PROC_BREAK) /* buffer full */
struct agent_action_iterator *aai = s->private;
ENTRY;
- LASSERTF(aai->aai_magic == AGENT_ACTIONS_IT_MAGIC, "%08X",
+ LASSERTF(aai->aai_magic == AGENT_ACTIONS_IT_MAGIC, "%08X\n",
aai->aai_magic);
if (aai->aai_ctxt)
struct mdt_device *mdt;
ENTRY;
- if (LPROCFS_ENTRY_CHECK(PDE(inode)))
- RETURN(-ENOENT);
-
rc = seq_open(file, &mdt_hsm_actions_proc_ops);
if (rc)
RETURN(rc);
/* mdt is saved in proc_dir_entry->data by
* mdt_coordinator_procfs_init() calling lprocfs_register()
*/
- mdt = (struct mdt_device *)PDE(inode)->data;
- aai->aai_obd = mdt2obd_dev(mdt);
+ mdt = (struct mdt_device *)PDE_DATA(inode);
+ aai->aai_mdt = mdt;
s = file->private_data;
s->private = aai;
/**
* lprocfs_release_hsm_actions() is called at end of /proc access.
- * It frees allocated ressources and calls cleanup lprocfs methods.
+ * It frees allocated resources and calls cleanup lprocfs methods.
*/
static int lprocfs_release_hsm_actions(struct inode *inode, struct file *file)
{