[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: dreaddir/fxattr



> 
> Julian Reschke <reschke@GOEDEL.UNI-MUENSTER.DE> writes:
> 
> |> Below is a first draft:
> |> Proposal for a combined call for Dreaddir/Fxattr:
> 
> |> LONG Dreadattr( WORD len, LONG dirhandle, char *buf, WORD lflag, XATTR *xattr);
> 
> |> len, dirhandle and buf are just like in Dreaddir. lflag and xattr
> |> are the standard parameters for Fxattr.
> 
> I don't think this is needed. Look at the latest version of GNU find.
> It makes many optimizations regarding the need to stat() a file.
> E.g., when running on a directory with no subdirectories, and you only
> need the names of the files, it doesn't make any stat() calls. Such

There are a lot of cases when you can't do that information. find -printf,
du, desktops displaying file windows and so on.

> optimizations will give you more than a new system call, which is also
> difficult to bind into the existing dirent interface. (Of course, the
> optimizations are only possible on MinixFS, where you have real link
> counts for directories.)

The new system call can be implemented as frontend for the other two
calls. And it adds the possibility to optimize it in a future TOS.XFS.

> 
> If you can fix it by software, why changing the kernel? :)

That's the whole issue: it's ths OS interface which is needlessly slow
and complicated.

-- 
---------------------------------------------------
Julian F. Reschke, Hensenstr. 142, D-48161 Muenster
 eMail: reschke@math.uni-muenster.de jr@ms.maus.de
___________________________________________________