X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Fmds%2Fmds_audit.c;h=4811954f5c42e83fbe60f561dd7878a0c7480ed5;hb=1cba97beb621dc6f895c71bdbbbef5a9c4cb1edc;hp=1ec9964247d43d47704e728299cd094b607c1f2f;hpb=263a3d03562358e0bfd86cfed52447bf9f3b38b7;p=fs%2Flustre-release.git 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);