On Thu, Nov 30, 2006 at 11:30:50AM +1100, David Chinner wrote:
> On Wed, Nov 29, 2006 at 04:47:29PM +0100, Christoph Hellwig wrote:
> > v_number is unused except for the naming some locks (which is a
> > functionality totally unused by Linux), so remove it and assorted
> > crap. Besides saving two words in struct vnode this also gets rid
> > of a spinlock per inode allocation.
>
> Hmm - given that I've just used the v_number in post-mortem analysis
> of a nasty bug to correlate the sequence of events during a series
> of mkdir operations (i.e. transactions in the incore log buffers,
> the resulting xfs_inodes and some screwed up dentries) that lead to
> a BUG_ON being tripped in d_instantiate.
>
> So, while it appears to be unused, it is _very_ useful for
> determining the SOE that has occurred in certain types of problems.
>
> FWIW, while analysing this crash dump a couple of days ago I was
> wishing that dentries had an equivalent sequence number because
> there is no way to tell what dentry was supposed to be related to
> what inode after it got screwed up...
Putting in sequence counting is trivial using kprobes. Will you put
in this patch after I write you a kprobes modules to do the sequence
numbering?
|