diff options
author | joerg <joerg@FreeBSD.org> | 1997-05-03 21:19:54 +0000 |
---|---|---|
committer | joerg <joerg@FreeBSD.org> | 1997-05-03 21:19:54 +0000 |
commit | ff12d1d1773aae3e2ba252b0daa09e91d35e57c1 (patch) | |
tree | b74399fecd909b765b05f181dee249cc2fbae516 /sys/miscfs/devfs/devfs_tree.c | |
parent | 97edcdf2f7e8f7cd5dc81bd510475b99b2df57ea (diff) | |
download | FreeBSD-src-ff12d1d1773aae3e2ba252b0daa09e91d35e57c1.zip FreeBSD-src-ff12d1d1773aae3e2ba252b0daa09e91d35e57c1.tar.gz |
Fix the umount problems for DEVFS.
PR: 3276 & 3469 (the fixes), 2738, 2033 (reports)
Submitted by: Dmitrij Tejblum <dima@tejblum.dnttm.rssi.ru>
Diffstat (limited to 'sys/miscfs/devfs/devfs_tree.c')
-rw-r--r-- | sys/miscfs/devfs/devfs_tree.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/sys/miscfs/devfs/devfs_tree.c b/sys/miscfs/devfs/devfs_tree.c index 784f23b..c4b507e 100644 --- a/sys/miscfs/devfs/devfs_tree.c +++ b/sys/miscfs/devfs/devfs_tree.c @@ -2,7 +2,7 @@ /* * Written by Julian Elischer (julian@DIALix.oz.au) * - * $Header: /home/ncvs/src/sys/miscfs/devfs/devfs_tree.c,v 1.34 1997/02/12 16:19:04 mpp Exp $ + * $Header: /home/ncvs/src/sys/miscfs/devfs/devfs_tree.c,v 1.35 1997/04/10 14:35:18 bde Exp $ */ #include "opt_devfs.h" @@ -496,6 +496,12 @@ devfs_dn_free(dn_p dnp) if(--dnp->links <= 0 ) /* can be -1 for initial free, on error */ { /*probably need to do other cleanups XXX */ + if (dnp->nextsibling != dnp) { + dn_p* prevp = dnp->prevsiblingp; + *prevp = dnp->nextsibling; + dnp->nextsibling->prevsiblingp = prevp; + + } if(dnp->type == DEV_SLNK) { free(dnp->by.Slnk.name,M_DEVFSNODE); } |