Author: kib
Date: Thu Jan 26 10:55:56 2017
New Revision: 312805
URL: https://svnweb.freebsd.org/changeset/base/312805

Log:
  MFC r312410:
  Rework some tmpfs lock assertions.
  
  MFC r312412:
  Protect macro argument.

Modified:
  stable/10/sys/fs/tmpfs/tmpfs.h
  stable/10/sys/fs/tmpfs/tmpfs_subr.c
  stable/10/sys/fs/tmpfs/tmpfs_vnops.c
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/sys/fs/tmpfs/tmpfs.h
==============================================================================
--- stable/10/sys/fs/tmpfs/tmpfs.h      Thu Jan 26 10:53:05 2017        
(r312804)
+++ stable/10/sys/fs/tmpfs/tmpfs.h      Thu Jan 26 10:55:56 2017        
(r312805)
@@ -307,21 +307,12 @@ LIST_HEAD(tmpfs_node_list, tmpfs_node);
 
 #ifdef INVARIANTS
 #define TMPFS_ASSERT_LOCKED(node) do {                                 \
-               MPASS(node != NULL);                                    \
-               MPASS(node->tn_vnode != NULL);                          \
-               if (!VOP_ISLOCKED(node->tn_vnode) &&                    \
-                   !mtx_owned(TMPFS_NODE_MTX(node)))                   \
-                       panic("tmpfs: node is not locked: %p", node);   \
-       } while (0)
-#define TMPFS_ASSERT_ELOCKED(node) do {                                        
\
                MPASS((node) != NULL);                                  \
                MPASS((node)->tn_vnode != NULL);                        \
-               mtx_assert(TMPFS_NODE_MTX(node), MA_OWNED);             \
-               ASSERT_VOP_LOCKED((node)->tn_vnode, "tmpfs");           \
+               ASSERT_VOP_LOCKED((node)->tn_vnode, "tmpfs assert");    \
        } while (0)
 #else
 #define TMPFS_ASSERT_LOCKED(node) (void)0
-#define TMPFS_ASSERT_ELOCKED(node) (void)0
 #endif
 
 #define TMPFS_VNODE_ALLOCATING 1

Modified: stable/10/sys/fs/tmpfs/tmpfs_subr.c
==============================================================================
--- stable/10/sys/fs/tmpfs/tmpfs_subr.c Thu Jan 26 10:53:05 2017        
(r312804)
+++ stable/10/sys/fs/tmpfs/tmpfs_subr.c Thu Jan 26 10:55:56 2017        
(r312805)
@@ -669,7 +669,7 @@ tmpfs_alloc_file(struct vnode *dvp, stru
        struct tmpfs_node *node;
        struct tmpfs_node *parent;
 
-       MPASS(VOP_ISLOCKED(dvp));
+       ASSERT_VOP_ELOCKED(dvp, "tmpfs_alloc_file");
        MPASS(cnp->cn_flags & HASBUF);
 
        tmp = VFS_TO_TMPFS(dvp->v_mount);

Modified: stable/10/sys/fs/tmpfs/tmpfs_vnops.c
==============================================================================
--- stable/10/sys/fs/tmpfs/tmpfs_vnops.c        Thu Jan 26 10:53:05 2017        
(r312804)
+++ stable/10/sys/fs/tmpfs/tmpfs_vnops.c        Thu Jan 26 10:55:56 2017        
(r312805)
@@ -1107,7 +1107,6 @@ tmpfs_rmdir(struct vop_rmdir_args *v)
 
        /* No vnode should be allocated for this entry from this point */
        TMPFS_NODE_LOCK(node);
-       TMPFS_ASSERT_ELOCKED(node);
        node->tn_links--;
        node->tn_dir.tn_parent = NULL;
        node->tn_status |= TMPFS_NODE_ACCESSED | TMPFS_NODE_CHANGED |
@@ -1116,7 +1115,6 @@ tmpfs_rmdir(struct vop_rmdir_args *v)
        TMPFS_NODE_UNLOCK(node);
 
        TMPFS_NODE_LOCK(dnode);
-       TMPFS_ASSERT_ELOCKED(dnode);
        dnode->tn_links--;
        dnode->tn_status |= TMPFS_NODE_ACCESSED | TMPFS_NODE_CHANGED |
            TMPFS_NODE_MODIFIED;
@@ -1270,7 +1268,6 @@ tmpfs_reclaim(struct vop_reclaim_args *v
        cache_purge(vp);
 
        TMPFS_NODE_LOCK(node);
-       TMPFS_ASSERT_ELOCKED(node);
        tmpfs_free_vp(vp);
 
        /* If the node referenced by this vnode was deleted by the user,
_______________________________________________
svn-src-stable-10@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-stable-10
To unsubscribe, send any mail to "svn-src-stable-10-unsubscr...@freebsd.org"

Reply via email to