fix an off by one error in hash chain counting code. Also fix "lockup"

bug
This commit is contained in:
chopps 1994-06-02 23:42:19 +00:00
parent d429d101d9
commit da4d919720
2 changed files with 8 additions and 4 deletions

View File

@ -27,7 +27,7 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* $Id: adutil.c,v 1.1 1994/05/11 18:49:13 chopps Exp $
* $Id: adutil.c,v 1.2 1994/06/02 23:42:19 chopps Exp $
*/
#include <sys/param.h>
#include <sys/vnode.h>
@ -317,6 +317,10 @@ adosfs_reclaim(vp)
#endif
ap = VTOA(vp);
LIST_REMOVE(ap, link);
if (vp->v_type == VDIR)
free(ap->tab, M_ANODE);
else if (vp->v_type == VLNK)
free(ap->slinkto, M_ANODE);
cache_purge(vp);
return(0);
}

View File

@ -27,7 +27,7 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* $Id: advnops.c,v 1.4 1994/05/25 11:34:15 chopps Exp $
* $Id: advnops.c,v 1.5 1994/06/02 23:42:50 chopps Exp $
*/
#include <sys/param.h>
#include <sys/vnode.h>
@ -280,7 +280,7 @@ adosfs_select(vp, which, fflags, ucp, p)
* sure there's something to read...
*/
#ifdef ADOSFS_DIAGNOSTIC
printf("(select [0x%x %d 0x%x 0x%x 0x%x] 1)", vp, which, fflags, ucp
printf("(select [0x%x %d 0x%x 0x%x 0x%x] 1)", vp, which, fflags, ucp,
p);
#endif
return(1);
@ -855,7 +855,7 @@ adosfs_inactive(vp, p)
#ifdef ADOSFS_DIAGNOSTIC
printf("(inactive ");
#endif
if (vp->v_usecount == 0 && 0 /* check for file gone? */)
if (vp->v_usecount == 0 /* && check for file gone? */)
vgone(vp);
#ifdef ADOSFS_DIAGNOSTIC