Messages in this thread | | | Date | Mon, 1 Dec 2008 18:06:34 +0100 | From | Jan Kara <> | Subject | Re: [GIT PULL] UDF tree fixes |
| |
On Mon 01-12-08 08:33:36, Linus Torvalds wrote: > > > On Mon, 1 Dec 2008, Jan Kara wrote: > > > > Yes, I would like to do it as well. But as I write in the changelog, > > currently there's no good callback for that (I've mailed about it at > > linux-fsdevel and noone had a better idea either). So for now I've just > > used this kludge to silence the Oops. > > No, I meant just a simple "just call clear_inode() from > udf_clear_inode()". But on a slightly closer look I notice that won't > work, since it will just cause recursion (well, you could just clear the > s_op field to avoid it, but that would be uglier than your fix). > > I wonder if we should perhaps just move the invalidate_inode_buffers() > call later in clear_inode(). That's a scary change, though. > > I just think your patch is pretty ugly. I'm sure it works, but I also > suspect it indicates some kind of more fundamental problem. I also wonder > why udf needs it but nobody else does (others do preallocation too) UDF needs this because it does preallocation on directories (and I don't know about other in-kernel fs which would do this). For regular files, preallocation is dropped on the last close() but for directories I don't know about such a good place so we do it in udf_clear_inode(). There used to be put_inode() callback which could be used for this but Christoph Hellwig killed it in April.
Honza
| |