#include <linux/lustre_log.h>
#include "smfs_internal.h"
+struct tr_priv {
+ void *id2name;
+ int null;
+};
+
struct transfer_item {
struct llog_handle *ti_llh;
struct list_head ti_link;
- void * id2name;
+ struct tr_priv priv;
};
#define TRANSFERD_STOP 0
RETURN(rc);
}
-int audit_notify(struct llog_handle *llh, void * arg)
+int audit_notify(struct llog_handle *llh, void * arg, int null)
{
struct transfer_item *ti;
- struct list_head tmp_list;
ENTRY;
down(&transferd_sem);
INIT_LIST_HEAD(&ti->ti_link);
ti->ti_llh = llh;
- ti->id2name = arg;
+ ti->priv.id2name = arg;
+ ti->priv.null = null;
spin_lock(&transferd_tc.tc_lock);
list_add_tail(&ti->ti_link, &transferd_tc.tc_list);
struct audit_id_record *id_rec =
(struct audit_id_record *)(rec + 1);
struct audit_name_record *name_rec = NULL;
- int (*audit_id2name)(struct obd_device *obd, char **name,
- int *namelen, struct lustre_id *id) = data;
-
+ struct tr_priv * trp = data;
+ int (*audit_id2name)(struct obd_device *obd, char **name, int *namelen,
+ struct lustre_id *id) = trp->id2name;
+
int n, rc = 0;
ENTRY;
CDEBUG(D_INFO, "%s\n", buf);
- printk("%s\n", buf);
+ if (!trp->null)
+ printk("%s\n", buf);
RETURN(0);
}
if (!llh)
RETURN(0);
- rc = llog_cat_process(llh, (llog_cb_t)&transfer_cb, ti->id2name);
+ rc = llog_cat_process(llh, (llog_cb_t)&transfer_cb, &ti->priv);
if (rc)
CERROR("process catalog log failed: rc(%d)\n", rc);