vfs_export.c (9436) | vfs_export.c (9507) |
---|---|
1/* 2 * Copyright (c) 1989, 1993 3 * The Regents of the University of California. All rights reserved. 4 * (c) UNIX System Laboratories, Inc. 5 * All or some portions of this file are derived from material licensed 6 * to the University of California by American Telephone and Telegraph 7 * Co. or Unix System Laboratories, Inc. and are reproduced herein with 8 * the permission of UNIX System Laboratories, Inc. --- 22 unchanged lines hidden (view full) --- 31 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 32 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 33 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 34 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 35 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 36 * SUCH DAMAGE. 37 * 38 * @(#)vfs_subr.c 8.13 (Berkeley) 4/18/94 | 1/* 2 * Copyright (c) 1989, 1993 3 * The Regents of the University of California. All rights reserved. 4 * (c) UNIX System Laboratories, Inc. 5 * All or some portions of this file are derived from material licensed 6 * to the University of California by American Telephone and Telegraph 7 * Co. or Unix System Laboratories, Inc. and are reproduced herein with 8 * the permission of UNIX System Laboratories, Inc. --- 22 unchanged lines hidden (view full) --- 31 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 32 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 33 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 34 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 35 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 36 * SUCH DAMAGE. 37 * 38 * @(#)vfs_subr.c 8.13 (Berkeley) 4/18/94 |
39 * $Id: vfs_subr.c,v 1.32 1995/06/28 12:00:55 davidg Exp $ | 39 * $Id: vfs_subr.c,v 1.33 1995/07/08 04:10:32 davidg Exp $ |
40 */ 41 42/* 43 * External virtual filesystem routines 44 */ 45 46#include <sys/param.h> 47#include <sys/systm.h> --- 459 unchanged lines hidden (view full) --- 507 } 508 splx(s); 509 510 /* 511 * Destroy the copy in the VM cache, too. 512 */ 513 object = vp->v_object; 514 if (object != NULL) { | 40 */ 41 42/* 43 * External virtual filesystem routines 44 */ 45 46#include <sys/param.h> 47#include <sys/systm.h> --- 459 unchanged lines hidden (view full) --- 507 } 508 splx(s); 509 510 /* 511 * Destroy the copy in the VM cache, too. 512 */ 513 object = vp->v_object; 514 if (object != NULL) { |
515 vm_object_lock(object); | |
516 vm_object_page_remove(object, 0, object->size, 517 (flags & V_SAVE) ? TRUE : FALSE); | 515 vm_object_page_remove(object, 0, object->size, 516 (flags & V_SAVE) ? TRUE : FALSE); |
518 vm_object_unlock(object); | |
519 } 520 if (!(flags & V_SAVEMETA) && 521 (vp->v_dirtyblkhd.lh_first || vp->v_cleanblkhd.lh_first)) 522 panic("vinvalbuf: flush failed"); 523 return (0); 524} 525 526/* --- 1001 unchanged lines hidden (view full) --- 1528 vp = vp->v_mntvnodes.le_next) { 1529 1530 if (vp->v_mount != mp) 1531 goto loop; 1532 if (VOP_ISLOCKED(vp) && (flags != MNT_WAIT)) 1533 continue; 1534 if (vp->v_object && 1535 (((vm_object_t) vp->v_object)->flags & OBJ_WRITEABLE)) { | 517 } 518 if (!(flags & V_SAVEMETA) && 519 (vp->v_dirtyblkhd.lh_first || vp->v_cleanblkhd.lh_first)) 520 panic("vinvalbuf: flush failed"); 521 return (0); 522} 523 524/* --- 1001 unchanged lines hidden (view full) --- 1526 vp = vp->v_mntvnodes.le_next) { 1527 1528 if (vp->v_mount != mp) 1529 goto loop; 1530 if (VOP_ISLOCKED(vp) && (flags != MNT_WAIT)) 1531 continue; 1532 if (vp->v_object && 1533 (((vm_object_t) vp->v_object)->flags & OBJ_WRITEABLE)) { |
1536 if (vget(vp, 1)) 1537 goto loop; 1538 _vm_object_page_clean(vp->v_object, 1539 0, 0, TRUE); 1540 vput(vp); | 1534 vm_object_page_clean(vp->v_object, 0, 0, TRUE, TRUE); |
1541 } 1542 } 1543} | 1535 } 1536 } 1537} |