Coda File System

Re: [possible PATCH] Re: cannot read directory -22

From: Jan Harkes <jaharkes_at_cs.cmu.edu>
Date: Tue, 4 Dec 2001 11:44:21 -0500
On Tue, Dec 04, 2001 at 08:20:44AM +0100, Florian Schaefer wrote:
> On Mon, 3 Dec 2001 16:16:12 -0500, Jan Harkes said:
> > I guess once in a blue moon, the O_DIRECT bit will be set and the
> > readdir will fail in the DirectIO path, while otherwise it will run
> > fine. Could you try the following patch to linux/fs/coda/dir.c
> 
> I just applied it and recompiled the module. At a first glance this seems
> to have solved my problems. Thanks a lot. :-)

Cool I'll forward it to Marcelo and Linus so that it can go into 2.4.17
and 2.5.1 or something.

> BTW: Any idea, how starting XFree gave me access to my coda volume?

Just a hunch. Most kernel data structures are taken from the slabcache,
which is a pool of pre-allocated structs. Before XFree starts we were
using uninitialized structs that had never been used before, so there
was a 50% chance that the O_DIRECT bit in f_flags was set. Once XFree
has started it probably had opened and closed a lot of files, so most
structs in the slabcache were previously used and thus 'initialized' by
the previous open so there is a far higher chance that we get a struct
file with the O_DIRECT bit cleared.

Jan
Received on 2001-12-04 11:44:31