reorganization to move ufsmount ops to be vnode ops
[unix-history] / usr / src / sys / vm / vm_pager.c
index 3b2c9bb..63c39a0 100644 (file)
@@ -7,7 +7,7 @@
  *
  * %sccs.include.redist.c%
  *
  *
  * %sccs.include.redist.c%
  *
- *     @(#)vm_pager.c  7.4 (Berkeley) %G%
+ *     @(#)vm_pager.c  7.6 (Berkeley) %G%
  *
  *
  * Copyright (c) 1987, 1990 Carnegie-Mellon University.
  *
  *
  * Copyright (c) 1987, 1990 Carnegie-Mellon University.
 #include "vm_kern.h"
 
 #include "swappager.h"
 #include "vm_kern.h"
 
 #include "swappager.h"
-
 #if NSWAPPAGER > 0
 extern struct pagerops swappagerops;
 #if NSWAPPAGER > 0
 extern struct pagerops swappagerops;
+#define        swappagerops_p  &swappagerops
 #else
 #else
-#define        swappagerops    NULL
+#define        swappagerops_p  NULL
 #endif
 #endif
+
 #include "vnodepager.h"
 #if NVNODEPAGER > 0
 extern struct pagerops vnodepagerops;
 #include "vnodepager.h"
 #if NVNODEPAGER > 0
 extern struct pagerops vnodepagerops;
+#define        vnodepagerops_p &vnodepagerops
 #else
 #else
-#define        vnodepagerops   NULL
+#define        vnodepagerops_p NULL
 #endif
 #endif
+
 #include "devpager.h"
 #if NDEVPAGER > 0
 extern struct pagerops devicepagerops;
 #include "devpager.h"
 #if NDEVPAGER > 0
 extern struct pagerops devicepagerops;
+#define        devicepagerops_p &devicepagerops
 #else
 #else
-#define        devicepagerops  NULL
+#define        devicepagerops_p NULL
 #endif
 
 struct pagerops *pagertab[] = {
 #endif
 
 struct pagerops *pagertab[] = {
-       &swappagerops,          /* PG_SWAP */
-       &vnodepagerops,         /* PG_VNODE */
-       &devicepagerops,        /* PG_DEV */
+       swappagerops_p,         /* PG_SWAP */
+       vnodepagerops_p,        /* PG_VNODE */
+       devicepagerops_p,       /* PG_DEV */
 };
 int npagers = sizeof (pagertab) / sizeof (pagertab[0]);
 
 };
 int npagers = sizeof (pagertab) / sizeof (pagertab[0]);
 
@@ -246,7 +250,10 @@ pager_cache(object, should_cache)
 
        vm_object_cache_lock();
        vm_object_lock(object);
 
        vm_object_cache_lock();
        vm_object_lock(object);
-       object->can_persist = should_cache;
+       if (should_cache)
+               object->flags |= OBJ_CANPERSIST;
+       else
+               object->flags &= ~OBJ_CANPERSIST;
        vm_object_unlock(object);
        vm_object_cache_unlock();
 
        vm_object_unlock(object);
        vm_object_cache_unlock();