diff options
author | Sebastien Roy <seb@delphix.com> | 2017-04-27 22:46:23 -0700 |
---|---|---|
committer | Prakash Surya <prakash.surya@delphix.com> | 2017-05-16 02:07:25 -0700 |
commit | ade42b557a6e29c3d17a61b1535d99af10e379be (patch) | |
tree | d78d4019b4d8ff987fb90f8c24ad8e135624b6ea /usr/src/uts/common/fs/dev/sdev_vfsops.c | |
parent | fe4627ef755b7c263f91a0e6f07cdca5d7083501 (diff) | |
download | illumos-joyent-ade42b557a6e29c3d17a61b1535d99af10e379be.tar.gz |
8064 need a static DTrace probe in VN_HOLD
Reviewed by: Pavel Zakharov <pavel.zakharov@delphix.com>
Reviewed by: Prakash Surya <prakash.surya@delphix.com>
Reviewed by: Prashanth Sreenivasa <pks@delphix.com>
Reviewed by: Matthew Ahrens <mahrens@delphix.com>
Approved by: Robert Mustacchi <rm@joyent.com>
Diffstat (limited to 'usr/src/uts/common/fs/dev/sdev_vfsops.c')
-rw-r--r-- | usr/src/uts/common/fs/dev/sdev_vfsops.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/usr/src/uts/common/fs/dev/sdev_vfsops.c b/usr/src/uts/common/fs/dev/sdev_vfsops.c index 00e981ce9c..82f127fe74 100644 --- a/usr/src/uts/common/fs/dev/sdev_vfsops.c +++ b/usr/src/uts/common/fs/dev/sdev_vfsops.c @@ -22,6 +22,7 @@ * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * Copyright 2015 Joyent, Inc. All rights reserved. + * Copyright (c) 2017 by Delphix. All rights reserved. */ /* @@ -505,7 +506,7 @@ sdev_find_mntinfo(char *mntpt) mntinfo = sdev_mntinfo; while (mntinfo) { if (strcmp(mntpt, mntinfo->sdev_root->sdev_name) == 0) { - SDEVTOV(mntinfo->sdev_root)->v_count++; + VN_HOLD(SDEVTOV(mntinfo->sdev_root)); break; } mntinfo = mntinfo->sdev_next; @@ -517,7 +518,11 @@ sdev_find_mntinfo(char *mntpt) void sdev_mntinfo_rele(struct sdev_data *mntinfo) { + vnode_t *vp = SDEVTOV(mntinfo->sdev_root); + mutex_enter(&sdev_lock); - SDEVTOV(mntinfo->sdev_root)->v_count--; + mutex_enter(&vp->v_lock); + VN_RELE_LOCKED(vp); + mutex_exit(&vp->v_lock); mutex_exit(&sdev_lock); } |