This is a tentitive fix for the vn device problems reported earlier.
    It has not been well tested.  Basically, the vn device tries to
    do something different for B_PAGING bp's to get around potential
    low-memory deadlocks.  Previously this only applied to paging/swapping,
    and the swapper doesn't care about b_resid.  However, part of the VM update
    in -4.x extends this flag for use in vm_fault paging and other similar 
    situations.  The VN code takes an alternate path for B_PAGING which has
    not been well tested due to it being previously restricted to swapper
    requested only.   There could be more bugs in the section of vn.  I'll
    run more sophisticated tests ( buildworlds and ports builds and such )
    next week, replacing my MFS testbed with a VN testbed.

                                        -Matt

                                        Matthew Dillon 
                                        <dil...@backplane.com>

Index: vn.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/vn/vn.c,v
retrieving revision 1.73
diff -u -r1.73 vn.c
--- vn.c        1999/01/23 00:28:56     1.73
+++ vn.c        1999/01/30 08:03:41
@@ -411,6 +411,7 @@
                        addr += sz;
                        resid -= sz;
                }
+               bp->b_resid = resid;
                biodone(bp);
                putvnbuf(nbp);
        }

To Unsubscribe: send mail to majord...@freebsd.org
with "unsubscribe freebsd-current" in the body of the message

Reply via email to