From 1cba97beb621dc6f895c71bdbbbef5a9c4cb1edc Mon Sep 17 00:00:00 2001 From: tappro Date: Fri, 9 Sep 2005 08:53:06 +0000 Subject: [PATCH 1/1] b=8654 fixed bug with setting fs_audit. lustre root inode id was used to set audit. For fs audit inode = NULL should be used. --- lustre/mds/mds_audit.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/lustre/mds/mds_audit.c b/lustre/mds/mds_audit.c index 1ec9964..4811954 100644 --- a/lustre/mds/mds_audit.c +++ b/lustre/mds/mds_audit.c @@ -245,19 +245,19 @@ int mds_set_audit(struct obd_device * obd, void * val) 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); - 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); -- 1.8.3.1