summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
263a3d0)
fixed bug with setting fs_audit. lustre root inode id was used to set audit. For fs audit inode = NULL should be used.
ENTRY;
//push_ctxt(&saved, &obd->obd_lvfs_ctxt, NULL);
ENTRY;
//push_ctxt(&saved, &obd->obd_lvfs_ctxt, NULL);
-
- dentry = mds_id2dentry(obd, &msg->id, NULL);
- if (IS_ERR(dentry)) {
- CERROR("Cannot get dentry "DLID4" err=%li\n", OLID4(&msg->id),
- PTR_ERR(dentry));
- RETURN(PTR_ERR(dentry));
+ if (IS_AUDIT_OP(msg->attr, AUDIT_FS) == 0) {
+ dentry = mds_id2dentry(obd, &msg->id, NULL);
+ if (IS_ERR(dentry)) {
+ CERROR("Cannot get dentry "DLID4" err=%li\n", OLID4(&msg->id),
+ PTR_ERR(dentry));
+ RETURN(PTR_ERR(dentry));
+ }
+ inode = dentry->d_inode;
-
- inode = dentry->d_inode;
- fsfilt_set_info(obd, inode->i_sb, inode,
+ fsfilt_set_info(obd, obd->u.mds.mds_sb, inode,
5, "audit", sizeof(msg->attr), &msg->attr);
5, "audit", sizeof(msg->attr), &msg->attr);
- if (S_ISREG(inode->i_mode) && !IS_AUDIT_OP(msg->attr, AUDIT_FS))
+ if (inode && S_ISREG(inode->i_mode))
mds_set_obj_audit(obd, inode, &msg->attr);
l_dput(dentry);
mds_set_obj_audit(obd, inode, &msg->attr);
l_dput(dentry);