Re: [RFC] readdir mess

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Al Viro
Date: Sunday, August 24, 2008 - 12:59 pm

On Sun, Aug 24, 2008 at 10:20:52AM -0700, Linus Torvalds wrote:

The fact that coda_readdir() will _not_ be returning 0 with your change
when called with the arguments old_readdir() gives it?  You'll get ret
from filldir, i.e. what you'll normally see will be -EINVAL in case of
fillonedir as callback.

The normal sequence for old_readdir() is
	* call fillonedir on the current entry
	* have it bump ->result from 0 to 1 and return 0
	* advance f_pos to the next entry
	* call fillonedir for it
	* have it see ->result != 0 and immediately bail out with -EINVAL
	* seeing a negative from the callback, foo_readdir does *not* advance
f_pos this time and returns 0 (or at least something non-negative)
	* old_readdir() sees non-negative from vfs_readdir() and returns
buf->result (i.e. 1)

Now you've got vfs_readdir() returning -EINVAL in that scenario.  See why
old_readdir() needs an update too?  It doesn't have the "OK, we'd already
called its filldir, so bugger whatever had happened afterwards" logics -
and it'll need it now.
--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[RFC] readdir mess, Al Viro, (Mon Aug 11, 11:22 pm)
Re: [RFC] readdir mess, OGAWA Hirofumi, (Tue Aug 12, 10:02 am)
Re: [RFC] readdir mess, Linus Torvalds, (Tue Aug 12, 10:18 am)
Re: [RFC] readdir mess, Al Viro, (Tue Aug 12, 11:10 am)
Re: [RFC] readdir mess, Al Viro, (Tue Aug 12, 11:22 am)
Re: [RFC] readdir mess, Al Viro, (Tue Aug 12, 11:37 am)
Re: [RFC] readdir mess, Al Viro, (Tue Aug 12, 12:24 pm)
Re: [RFC] readdir mess, OGAWA Hirofumi, (Tue Aug 12, 12:45 pm)
Re: [RFC] readdir mess, Linus Torvalds, (Tue Aug 12, 1:02 pm)
Re: [RFC] readdir mess, Linus Torvalds, (Tue Aug 12, 1:05 pm)
Re: [RFC] readdir mess, Linus Torvalds, (Tue Aug 12, 1:21 pm)
Re: [RFC] readdir mess, Al Viro, (Tue Aug 12, 1:38 pm)
Re: [RFC] readdir mess, Al Viro, (Tue Aug 12, 1:59 pm)
Re: [RFC] readdir mess, Linus Torvalds, (Tue Aug 12, 2:04 pm)
Re: [RFC] readdir mess, Linus Torvalds, (Tue Aug 12, 2:24 pm)
Re: [RFC] readdir mess, Alan Cox, (Tue Aug 12, 2:47 pm)
Re: [RFC] readdir mess, Al Viro, (Tue Aug 12, 2:54 pm)
Re: [RFC] readdir mess, Linus Torvalds, (Tue Aug 12, 3:04 pm)
Re: [RFC] readdir mess, Alan Cox, (Tue Aug 12, 3:10 pm)
Re: [RFC] readdir mess, Linus Torvalds, (Tue Aug 12, 3:20 pm)
Re: [RFC] readdir mess, Al Viro, (Tue Aug 12, 5:04 pm)
Re: [RFC] readdir mess, Linus Torvalds, (Tue Aug 12, 5:28 pm)
Re: [RFC] readdir mess, Al Viro, (Tue Aug 12, 6:19 pm)
Re: [RFC] readdir mess, Linus Torvalds, (Tue Aug 12, 6:51 pm)
Re: [RFC] readdir mess, Brad Boyer, (Wed Aug 13, 1:36 am)
Re: [RFC] readdir mess, Al Viro, (Wed Aug 13, 9:19 am)
Re: [RFC] readdir mess, J. Bruce Fields, (Wed Aug 13, 9:20 am)
Re: [RFC] readdir mess, Jan Harkes, (Thu Aug 14, 10:06 pm)
Re: [RFC] readdir mess, Al Viro, (Thu Aug 14, 10:34 pm)
Re: [RFC] readdir mess, Linus Torvalds, (Fri Aug 15, 9:58 am)
Re: [RFC] readdir mess, Al Viro, (Sun Aug 24, 3:10 am)
Re: [RFC] readdir mess, Al Viro, (Sun Aug 24, 4:03 am)
Re: [RFC] readdir mess, Linus Torvalds, (Sun Aug 24, 10:20 am)
Re: [RFC] readdir mess, Al Viro, (Sun Aug 24, 12:59 pm)
Re: [RFC] readdir mess, Linus Torvalds, (Sun Aug 24, 4:51 pm)
Re: [RFC] readdir mess, Al Viro, (Sun Aug 24, 6:33 pm)
Re: [RFC] readdir mess, Al Viro, (Sun Aug 24, 6:44 pm)
Re: [RFC] readdir mess, J. Bruce Fields, (Mon Aug 25, 9:16 am)