lkml.org 
[lkml]   [1997]   [Jul]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
Subjectpre-patch 2.1.45-7: still wrapping counts
I just compiled -7, and it's still wrapping inode counts.  I added some
tests to the debugging message, so at least know that it's not a pipe
inode. Is there a convenient way I can invoke a call traceback to see
where iput() is called from when the count wraps?

One clue is that the wrapped counts don't show up on the unused list, or
else they would trigger another debugging message. This implies that
the device in question doesn't implement a put_inode function.
iput: count wrapped device 00:00, inode 8, pipe=0, count=-1
iput: count wrapped device 00:00, inode 13, pipe=0, count=-1
iput: count wrapped device 00:00, inode 24, pipe=0, count=-1
iput: count wrapped device 00:00, inode 25, pipe=0, count=-1

Another clue -- at shutdown, the counts wrap in reverse order of inode
number:
iput: count wrapped device 00:00, inode 154, pipe=0, count=-1
iput: count wrapped device 00:00, inode 155, pipe=0, count=-1
iput: count wrapped device 00:00, inode 130, pipe=0, count=-1

A few other comments: setting the pipe status to dirty seems reasonable,
but I still prefer keeping pipe inodes from ever getting dirty. Keeping
dirty inodes off the in-use list would make it easier to check for
potential bugs. Anyway, I modified my show_inodes routine to exempt
pipe inodes from the dirty count:

Inodes Allocated: 320
List Inodes In-Use Hashed Locked Dirty Pipe Cnt<0 Pages
CLEAN 293 120 233 0 0 2 21 124
DIRTY 22 19 22 0 18 0 0 202
UNUSED 5 0 0 0 0 0 0 0
Inodes Accounted: 320 Total Pages: 326

With the change to add inodes obtained from get_empty_inode to the
in-use list, all allocated inodes are accounted for, but some are not
hashed. Guess this isn't a problem ...

\
 
 \ /
  Last update: 2005-03-22 13:39    [W:0.023 / U:0.112 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site