Whamcloud - gitweb
git://git.whamcloud.com
/
fs
/
lustre-release.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
| inline |
side by side
src needs to be in the options list if it is going to be available for use.
[fs/lustre-release.git]
/
lustre
/
llite
/
llite_audit.c
diff --git
a/lustre/llite/llite_audit.c
b/lustre/llite/llite_audit.c
index
0c7cd9a
..
dc14ad6
100644
(file)
--- a/
lustre/llite/llite_audit.c
+++ b/
lustre/llite/llite_audit.c
@@
-40,17
+40,26
@@
int ll_set_audit(struct inode * inode, __u64 arg)
{
struct audit_attr_msg msg;
struct obd_export * exp = ll_i2mdexp(inode);
+ struct ll_sb_info * sbi = ll_s2sbi(inode->i_sb);
+ struct ll_inode_info *lli = ll_i2info(inode);
int rc;
msg.attr = arg;
- msg.id = ll
_i2info(inode)
->lli_id;
- //set audit on MDS (fs/dir/file)
+ msg.id = ll
i
->lli_id;
+ CDEBUG(D_INFO, "Set audit 0x%x for "DLID4"\n", (__u32)arg, OLID4(&lli->lli_id));
rc = obd_set_info(exp, 5, "audit", sizeof(msg), &msg);
//if fs audit is being set for fs then pass attr to all OSS
if (IS_AUDIT_OP(arg, AUDIT_FS)) {
+ sbi->ll_audit_mask = arg;
exp = ll_i2dtexp(inode);
rc = obd_set_info(exp, 5, "audit", sizeof(msg), &msg);
+ } else if (IS_AUDIT_OP(arg, AUDIT_SYNC) ||
+ IS_AUDIT_OP(arg, AUDIT_NULL)) {
+ exp = ll_i2dtexp(inode);
+ rc = obd_set_info(exp, 5, "audit", sizeof(msg), &msg);
+ } else {
+ lli->lli_audit_mask = arg;
}
return rc;
}
@@
-71,7
+80,7
@@
int ll_check_audit(struct inode * inode, audit_op op, int ret)
return 0;
//if audit is only for failures?
- if (
!ret
&& IS_AUDIT_OP(mask, AUDIT_FAIL))
+ if (
ret >= 0
&& IS_AUDIT_OP(mask, AUDIT_FAIL))
return 0;
return (IS_AUDIT_OP(mask,op));
@@
-84,7
+93,6
@@
int ll_check_audit(struct inode * inode, audit_op op, int ret)
int ll_audit_log (struct inode * inode, audit_op code, int ret)
{
struct audit_msg msg;
- //struct lustre_id * id = &msg.id;
struct obd_export * exp = ll_i2dtexp(inode);
int rc = 0;
@@
-92,9
+100,9
@@
int ll_audit_log (struct inode * inode, audit_op code, int ret)
msg.id = ll_i2info(inode)->lli_id;
msg.code = code;
msg.result = ret;
- msg.uid = current->
fs
uid;
- msg.gid = current->
fs
gid;
- msg.nid = 0
xFEED
;
+ msg.uid = current->uid;
+ msg.gid = current->gid;
+ msg.nid = 0;
rc = obd_set_info(exp, 8, "auditlog", sizeof(msg), &msg);
}