CERROR("invalid record in catalog\n");
RETURN(-EINVAL);
}
- CWARN("processing log "LPX64":%x at index %u of catalog "LPX64"\n",
+ CDEBUG(D_INFO, "processing log "LPX64":%x at index %u of catalog "LPX64"\n",
lir->lid_id.lgl_oid, lir->lid_id.lgl_ogen,
le32_to_cpu(rec->lrh_index), cat_llh->lgh_id.lgl_oid);
if (rc < 0)
RETURN(0);
//should only failures be audited?
- if (!ret && IS_AUDIT_OP(mask, AUDIT_FAIL))
+ if (ret >= 0 && IS_AUDIT_OP(mask, AUDIT_FAIL))
RETURN(0);
//check audit mask
priv = smfs_get_plg_priv(smb, SMFS_PLG_AUDIT);
if(!priv) {
- CERROR("error updating audit setting: rc = %d\n", rc);
+ CERROR("Audit is not initialized, use mountoptions 'audit'\n");
RETURN(-EINVAL);
}
[AUDIT_READDIR] "readdir",
};
-#define construct_header(buf, size, rec) \
- snprintf(buf, size, \
- "AUDIT [%u] [nid: "LPU64" uid: %u gid: %u rc: %d] [%s] ", \
- rec->time, rec->nid, rec->uid, rec->gid, (__s16)rec->result, \
- opstr[rec->opcode]);
+#define construct_header(buf, size, rec, id_rec) \
+ snprintf(buf, size, "AUDIT:"LPU64":%u/%u:%s:%d:"DLID4":", \
+ rec->nid, rec->uid, rec->gid, opstr[rec->opcode], (__s16)rec->result,\
+ (unsigned long)id_rec->au_fid, (unsigned long)id_rec->au_mds, \
+ (unsigned long)id_rec->au_num, (unsigned long)id_rec->au_gen);
#define REC2ID(rec, id) { \
id_ino(id) = rec->au_num; \
CDEBUG(D_INFO, "transfer %s\n", opstr[rec->opcode]);
memset(buf, 0, PAGE_SIZE);
- n = construct_header(buf, PAGE_SIZE, rec);
+ n = construct_header(buf, PAGE_SIZE, rec, id_rec);
if (n < 0)
RETURN(n);
-
+
switch (rec->opcode)
{
case AUDIT_UNLINK:
default:
break;
}
-
+
if (audit_id2name) {
char *name = NULL;
struct lustre_id id;
printk("%s\n", buf);
- RETURN(rc);
+ RETURN(0);
}
static int transfer_cb(struct llog_handle *llh, struct llog_rec_hdr *rec,
{
struct obd_device *obd = llh->lgh_ctxt->loc_obd;
struct audit_record *ad_rec;
- int rc = 0;
+
ENTRY;
if (!(le32_to_cpu(llh->lgh_hdr->llh_flags) & LLOG_F_IS_PLAIN)) {
LASSERT(ad_rec->opcode < AUDIT_MAX);
- rc = transfer_record(obd, ad_rec, rec->lrh_type, data);
- if (rc)
- CERROR("transfer record failed! rc:%d\n", rc);
-
+ transfer_record(obd, ad_rec, rec->lrh_type, data);
+
RETURN(LLOG_DEL_RECORD);
}
audit_client_log(sb, val);
}
else if (keylen == 5 && memcmp(key, "audit", 5) == 0) {
- rc = smfs_set_audit(sb, inode, (__u64 *)val);
+ smfs_set_audit(sb, inode, (__u64 *)val);
}
else if (keylen == 7 && memcmp(key, "id2name", 7) == 0) {
rc = SMFS_PLG_HELP(sb, PLG_SET_INFO, &msg);