Date: Thu, 07 Jun 2001 08:07:59 +0200 From: Tor.Egge@fast.no To: tlambert@primenet.com Cc: current@FreeBSD.ORG, mjacob@feral.com Subject: Re: anyone seen these outside of alpha? or on non-SMP? Message-ID: <200106070607.IAA67023@midten.fast.no> In-Reply-To: Your message of "Tue, 5 Jun 2001 20:09:14 %2B0000 (GMT)" References: <200106052010.NAA29251@usr01.primenet.com>
next in thread | previous in thread | raw e-mail | index | archive | help
----Next_Part(Thu_Jun__7_08:06:24_2001)-- Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit > My guess would be that the inode in question is a directory inode, > and that there are temp files there, or a lot of open files, but > that is just a ballpark guess. Correct. A sample program to reproduce this problem is enclosed. When a diradd dependency that causes a newdirblk dependency to be allocated is made obsolete in newdirrem(), the pagedep structure is likely to be freed without first removing the newdirblk dependency that still points to the pagedep structure. - Tor Egge ----Next_Part(Thu_Jun__7_08:06:24_2001)-- Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit #!/bin/sh dovmstat() { vmstat -m | awk '/^ *(mkdir|newdirblk|dirrem|diradd|pagedep)/ { print }' } dovmstat rm -rf a dirrems=`vmstat -m | awk '/^ *dirrem/ { print $2 }'` while test $dirrems -gt 0 do sync sleep 1 dirrems=`vmstat -m | awk '/^ *dirrem/ { print $2 }'` done mkdir a mkdirs=`vmstat -m | awk '/^ *mkdir/ { print $2 }'` while test $mkdirs -gt 0 do sync sleep 1 mkdirs=`vmstat -m | awk '/^ *mkdir/ { print $2 }'` done dovmstat touch a/0000000000000000000000000000000000000000000000000000000 dovmstat touch a/0000000000000000000000000000000000000000000000000000001 dovmstat touch a/0000000000000000000000000000000000000000000000000000002 dovmstat touch a/0000000000000000000000000000000000000000000000000000003 dovmstat touch a/0000000000000000000000000000000000000000000000000000004 dovmstat touch a/0000000000000000000000000000000000000000000000000000005 dovmstat touch a/0000000000000000000000000000000000000000000000000000006 dovmstat touch a/0000000000000000000000000000000000000000000000000000007 dovmstat touch a/0000000000000000000000000000000000000000000000000000007 dovmstat touch a/0000000000000000000000000000000000000000000000000000008 dovmstat touch a/0000000000000000000000000000000000000000000000000000009 dovmstat touch a/000000000000000000000000000000000000000000000000000000a dovmstat touch a/000000000000000000000000000000000000000000000000000000b dovmstat touch a/000000000000000000000000000000000000000000000000000000c dovmstat touch a/000000000000000000000000000000000000000000000000000000d dovmstat touch a/000000000000000000000000000000000000000000000000000000e dovmstat touch a/000000000000000000000000000000000000000000000000000000f dovmstat rm a/000000000000000000000000000000000000000000000000000000f dovmstat ls -ld a dovmstat rm -rf a dovmstat echo FINISHED ----Next_Part(Thu_Jun__7_08:06:24_2001)---- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200106070607.IAA67023>