Hi,

I have pushed another set of raw IO patches out, this time to fix a
bug with bounce buffer copying when running on highmem boxes.  It is
likely to affect any bounce buffer copies using non-page-aligned
accesses if both highmem and normal pages are involved in the kiobuf.

The specific new patch added in this patchset is attached below.  The
full set has been uploaded as 

        kiobuf-2.2.18pre24-B.tar.gz

at

        ftp.*.kernel.org:/pub/linux/kernel/people/sct/raw-io/
and     ftp.uk.linux.org:/pub/linux/sct/fs/raw-io/

This one really should kill all known bugs, dead.  Please stress it
out and let me know if anybody encounters any further problems.  A
merge of all of the pending raw IO fixes into 2.4 should be happening
soon once the current VM changes for marking pages dirty are working.

Cheers,
 Stephen

--- linux-2.2.18pre24.raw.bigmem/fs/iobuf.c.~1~ Mon Dec  4 20:13:49 2000
+++ linux-2.2.18pre24.raw.bigmem/fs/iobuf.c     Mon Dec  4 20:14:08 2000
@@ -211,10 +211,10 @@
                unsigned long kin, kout;
                int pagelen = length;
                
+               if ((pagelen+offset) > PAGE_SIZE)
+                       pagelen = PAGE_SIZE - offset;
+                       
                if (bounce_page) {
-                       if ((pagelen+offset) > PAGE_SIZE)
-                               pagelen = PAGE_SIZE - offset;
-               
                        if (direction == COPY_TO_BOUNCE) {
                                kin  = kmap(page, KM_READ);
                                kout = kmap(bounce_page, KM_WRITE);

Reply via email to