Re: Filesystem questions.

From: Matti Aarnio (matti.aarnio@sonera.fi)
Date: Tue Mar 28 2000 - 03:54:32 EST


On Tue, Mar 28, 2000 at 12:05:59AM +0100, Dave Jones wrote:
> Hi all,
>
> I've spent a while this evening hacking on the 2.3.99 AFFS driver.
> I've rewritten the file_write routines, and got it into a state where
> it compiles, which is a start, but now I have unsolved symbols when I
> try to insert the module.
>
> __divdi3
> __moddi3

        Encountering these is a sign that you are dividing
        64 bit quantities (e.g. i_size, or file position) with
        e.g. blocksize.

        If your blocksizes are always power of two, you have
        no problems of turning them into shift expressions
        by precomputing the log2() of the blocksize to be
        used as the shift.

        If your blocksizes are not always power of two, things
        become a bit more complicated, but then propably your
        maximum filesize is just 2G, not 2^63 .. Try casting
        position/size via (long), and you should be home free.

        The GCC intrinsics are rather slow code, and thus should
        not be used in fast paths.

> If anyone can shed any light on this, I'll probably be able to get
> affs usable again..
> --
> Dave.

/Matti Aarnio

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Fri Mar 31 2000 - 21:00:21 EST