* [GIT PULL] UDF tree fixes
@ 2008-11-27 17:23 Jan Kara
2008-11-30 20:58 ` Linus Torvalds
0 siblings, 1 reply; 5+ messages in thread
From: Jan Kara @ 2008-11-27 17:23 UTC (permalink / raw)
To: Linus Torvalds; +Cc: linux-kernel, tibor.tajti
Hi Linus,
would you please pull from
git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-udf-2.6.git for_linus
to get the following fix:
Jan Kara (1):
udf: Fix BUG_ON() in destroy_inode()
with diffstat:
fs/buffer.c | 1 +
fs/udf/inode.c | 1 +
2 files changed, 2 insertions(+)
Thanks
Honza
--
Jan Kara <jack@suse.cz>
SUSE Labs, CR
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: [GIT PULL] UDF tree fixes
2008-11-27 17:23 [GIT PULL] UDF tree fixes Jan Kara
@ 2008-11-30 20:58 ` Linus Torvalds
2008-12-01 12:01 ` Jan Kara
0 siblings, 1 reply; 5+ messages in thread
From: Linus Torvalds @ 2008-11-30 20:58 UTC (permalink / raw)
To: Jan Kara; +Cc: linux-kernel, tibor.tajti
On Thu, 27 Nov 2008, Jan Kara wrote:
>
> would you please pull from
>
> git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-udf-2.6.git for_linus
>
> to get the following fix:
> Jan Kara (1):
> udf: Fix BUG_ON() in destroy_inode()
>
> with diffstat:
>
> fs/buffer.c | 1 +
> fs/udf/inode.c | 1 +
> 2 files changed, 2 insertions(+)
Hmm. I really think you should use 'clear_inode()' rather than calling
invalidate_inode_buffers() directly.
I pulled it, but I'm almost certain you did the wrong thing.
Linus
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [GIT PULL] UDF tree fixes
2008-11-30 20:58 ` Linus Torvalds
@ 2008-12-01 12:01 ` Jan Kara
2008-12-01 16:33 ` Linus Torvalds
0 siblings, 1 reply; 5+ messages in thread
From: Jan Kara @ 2008-12-01 12:01 UTC (permalink / raw)
To: Linus Torvalds; +Cc: linux-kernel, tibor.tajti
On Sun 30-11-08 12:58:54, Linus Torvalds wrote:
>
>
> On Thu, 27 Nov 2008, Jan Kara wrote:
> >
> > would you please pull from
> >
> > git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-udf-2.6.git for_linus
> >
> > to get the following fix:
> > Jan Kara (1):
> > udf: Fix BUG_ON() in destroy_inode()
> >
> > with diffstat:
> >
> > fs/buffer.c | 1 +
> > fs/udf/inode.c | 1 +
> > 2 files changed, 2 insertions(+)
>
> Hmm. I really think you should use 'clear_inode()' rather than calling
> invalidate_inode_buffers() directly.
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.
Honza
--
Jan Kara <jack@suse.cz>
SUSE Labs, CR
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [GIT PULL] UDF tree fixes
2008-12-01 12:01 ` Jan Kara
@ 2008-12-01 16:33 ` Linus Torvalds
2008-12-01 17:06 ` Jan Kara
0 siblings, 1 reply; 5+ messages in thread
From: Linus Torvalds @ 2008-12-01 16:33 UTC (permalink / raw)
To: Jan Kara; +Cc: linux-kernel, tibor.tajti
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)
Linus
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [GIT PULL] UDF tree fixes
2008-12-01 16:33 ` Linus Torvalds
@ 2008-12-01 17:06 ` Jan Kara
0 siblings, 0 replies; 5+ messages in thread
From: Jan Kara @ 2008-12-01 17:06 UTC (permalink / raw)
To: Linus Torvalds; +Cc: linux-kernel, tibor.tajti
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
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2008-12-01 17:06 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-11-27 17:23 [GIT PULL] UDF tree fixes Jan Kara
2008-11-30 20:58 ` Linus Torvalds
2008-12-01 12:01 ` Jan Kara
2008-12-01 16:33 ` Linus Torvalds
2008-12-01 17:06 ` Jan Kara
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®