SCCS-vsn: sys/ufs/ufs/ufs_ihash.c 8.7
*
* %sccs.include.redist.c%
*
*
* %sccs.include.redist.c%
*
- * @(#)ufs_ihash.c 8.6 (Berkeley) %G%
+ * @(#)ufs_ihash.c 8.7 (Berkeley) %G%
*/
#include <sys/param.h>
*/
#include <sys/param.h>
struct proc *p = curproc; /* XXX */
struct ihashhead *ipp;
struct proc *p = curproc; /* XXX */
struct ihashhead *ipp;
+ /* lock the inode, then put it on the appropriate hash list */
+ lockmgr(&ip->i_lock, LK_EXCLUSIVE, (struct simplelock *)0, p);
+
simple_lock(&ufs_ihash_slock);
ipp = INOHASH(ip->i_dev, ip->i_number);
LIST_INSERT_HEAD(ipp, ip, i_hash);
simple_unlock(&ufs_ihash_slock);
simple_lock(&ufs_ihash_slock);
ipp = INOHASH(ip->i_dev, ip->i_number);
LIST_INSERT_HEAD(ipp, ip, i_hash);
simple_unlock(&ufs_ihash_slock);
-
- lockmgr(&ip->i_lock, LK_EXCLUSIVE, (struct simplelock *)0, p);