From: tappro Date: Fri, 9 Sep 2005 08:53:06 +0000 (+0000) Subject: b=8654 X-Git-Tag: v1_7_100~753 X-Git-Url: https://git.whamcloud.com/?a=commitdiff_plain;h=1cba97beb621dc6f895c71bdbbbef5a9c4cb1edc;hp=263a3d03562358e0bfd86cfed52447bf9f3b38b7;p=fs%2Flustre-release.git 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. --- 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);