Andriy Gapon wrote:
on 04/02/2008 22:07 Pav Lucistnik said the following:
Julian Elischer píše v po 04. 02. 2008 v 10:36 -0800:
Andriy Gapon wrote:
More on the problem with reading big directories on UDF.
You do realise that you have now made yourself the official
maintainer of the UDF file system by submitting a competent
and insightful analysis of the problem?
Yay, and can you fix the sequential read performance while you're at it?
Kthx!
Pav,
this was almost trivial :-)
See the attached patch, first hunk is just for consistency.
The code was borrowed from cd9660, only field/variable names are adjusted.
Your patch looks reasonable. Btw, for the same reason that read-ahead
makes file reading much faster, I would not change directory reading to
be 1 sector at a time (unless you also do read-ahead for it).
But there is another issue that I also mentioned in the email about
directory reading. It is UDF_INVALID_BMAP case of udf_bmap_internal,
i.e. the case when file data is embedded into a file entry.
This is a special case that needs to be handled differently.
udf_readatoffset() handles it, but the latest udf_read code doesn't.
I have a real UDF filesystem where this type of allocation is used for
small files and those files can not be read.
Oh, so directory data can also follow this convention? Blah. Feel free
to fix that too if you want =-)
Scott
_______________________________________________
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "[EMAIL PROTECTED]"