Re: VFAT patch (Re: 2.1.114: VFAT corrupts first block of a file)

Alan Cox (k3040e4@c210.edvz.uni-linz.ac.at)
Tue, 11 Aug 1998 17:46:07 +0200 (METDST)


Gordon,

I've applied your second patch but now I'm getting a filesystem panic.

Please try something like this on a VFAT drive:

echo "a" > A
mv A a (this will fail)
mv A x
mv x a
vi a

Aug 11 17:35:09 laetitia kernel: Filesystem panic (dev 03:01).
Aug 11 17:35:09 laetitia kernel: fat_free: deleting beyond EOF
Aug 11 17:35:09 laetitia kernel: File system has been set read-only

Markus

> > OR
> >
> > - you haven't cleared "inode->i_nlink" when you marked the old inode
> > deleted, so the VFS layer doesn't know that it should call the delete
> > function..
> >
> > The i_nlink thing looks like the more likely suspect.
>
> Indeed. I couldn't figure out how to get the system from reusing the
> inode, and clear_inode(old_inode) was the only thing I could get to work.
> Clearing old_inode->i_nlink also works, and since it is the correct way,
> here is a patch to apply over the previously applied patch.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.altern.org/andrebalsa/doc/lkml-faq.html