From: Derrick Brashear Date: Thu, 21 Oct 2004 16:01:20 +0000 (+0000) Subject: STABLE12-fstrace-avoid-double-glock-in-dentry-code-during-fstrace-20040719 X-Git-Tag: openafs-stable-1_2_12~1 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=489739282fd952be1b40a1e4fb8b09b70c79613a;p=packages%2Fo%2Fopenafs.git STABLE12-fstrace-avoid-double-glock-in-dentry-code-during-fstrace-20040719 fstracing on a linux machine and trying to fs flush a file in the cache would tr igger a hang on a machine with SMP kernel. fix it. --- diff --git a/src/afs/LINUX/osi_vnodeops.c b/src/afs/LINUX/osi_vnodeops.c index 18e58505a..a622a5c41 100644 --- a/src/afs/LINUX/osi_vnodeops.c +++ b/src/afs/LINUX/osi_vnodeops.c @@ -858,7 +858,7 @@ static void afs_dentry_iput(struct dentry *dp, struct inode *ip) ICL_TYPE_POINTER, ip, ICL_TYPE_STRING, dp->d_parent->d_name.name, ICL_TYPE_STRING, dp->d_name.name); - is (!isglock) AFS_GUNLOCK(); + if (!isglock) AFS_GUNLOCK(); } osi_iput(ip); @@ -868,11 +868,11 @@ static int afs_dentry_delete(struct dentry *dp) { int isglock; if (ICL_SETACTIVE(afs_iclSetp)) { - is (!isglock) AFS_GLOCK(); + if (!isglock) AFS_GLOCK(); afs_Trace3(afs_iclSetp, CM_TRACE_DENTRYDELETE, ICL_TYPE_POINTER, dp->d_inode, ICL_TYPE_STRING, dp->d_parent->d_name.name, ICL_TYPE_STRING, dp->d_name.name); - is (!isglock) AFS_GUNLOCK(); + if (!isglock) AFS_GUNLOCK(); } if (dp->d_inode && (ITOAFS(dp->d_inode)->states & CUnlinked))