From: Miklos S. <mi...@sz...> - 2005-11-27 21:49:08
|
> > The type is either file _or_ directory, but it can never be both. > > But it may support _both_ read() and lookup(), which is what you would > > need to support opening both '/foo' and '/foo/bar'. > > As pointed out by Paul Jarc, in a Fuse filesystem, the decision to > call the read() method seems determined by the file type as returned by > the gettatr() method. Where is this decision taken (the libc, the VFS or > Fuse) and is it possible to get around it? In fuse, and yes it's possible. I even made a small patch enabling this (probably needs updating). Look for the thread "Files as directories in FUSE?". The difficult part is making it safe. A partial soltuion is to not allow link(2) and check for aliases to non-directories as well on lookup/create. Miklos |