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