From 08a92c130663d0d3e29ac6b691f2d8781baeb262 Mon Sep 17 00:00:00 2001 From: Justus Winter <4winter@informatik.uni-hamburg.de> Date: Sun, 27 Apr 2014 09:34:30 +0200 Subject: update ext2fs-two-pagers.patch --- debian/patches/ext2fs-two-pagers.patch | 35 ++++++++++++++++++++-------------- 1 file changed, 21 insertions(+), 14 deletions(-) (limited to 'debian') diff --git a/debian/patches/ext2fs-two-pagers.patch b/debian/patches/ext2fs-two-pagers.patch index 4f4087f5..6d9d6dee 100644 --- a/debian/patches/ext2fs-two-pagers.patch +++ b/debian/patches/ext2fs-two-pagers.patch @@ -1,4 +1,4 @@ -commit f06e4557fed5d86a9eb4ab0a1fe54ba021dc53ed +commit 6c2cd694f8bb88181bf9a808fc63a5e6463f0386 Author: Justus Winter <4winter@informatik.uni-hamburg.de> Date: Sat Apr 26 19:48:18 2014 +0200 @@ -30,10 +30,17 @@ Date: Sat Apr 26 19:48:18 2014 +0200 (enable_caching): Likewise. diff --git a/ext2fs/pager.c b/ext2fs/pager.c -index 6e99c83..1753831 100644 +index 6e99c83..f3e9489 100644 --- a/ext2fs/pager.c +++ b/ext2fs/pager.c -@@ -27,8 +27,11 @@ +@@ -21,14 +21,18 @@ + #include + #include + #include ++#include + #include + #include "ext2fs.h" + /* XXX */ #include "../libpager/priv.h" @@ -47,7 +54,7 @@ index 6e99c83..1753831 100644 pthread_spinlock_t node_to_page_lock = PTHREAD_SPINLOCK_INITIALIZER; -@@ -1188,21 +1191,56 @@ disk_cache_block_is_ref (block_t block) +@@ -1188,21 +1192,56 @@ disk_cache_block_is_ref (block_t block) return ref; } @@ -107,7 +114,7 @@ index 6e99c83..1753831 100644 } /* Call this to create a FILE_DATA pager and return a send right. -@@ -1241,7 +1279,7 @@ diskfs_get_filemap (struct node *node, vm_prot_t prot) +@@ -1241,7 +1280,7 @@ diskfs_get_filemap (struct node *node, vm_prot_t prot) upi->max_prot = prot; diskfs_nref_light (node); node->dn->pager = @@ -116,7 +123,7 @@ index 6e99c83..1753831 100644 MEMORY_OBJECT_COPY_DELAY, 0); if (node->dn->pager == 0) { -@@ -1324,14 +1362,13 @@ diskfs_shutdown_pager () +@@ -1324,14 +1363,13 @@ diskfs_shutdown_pager () error_t shutdown_one (void *v_p) { struct pager *p = v_p; @@ -133,7 +140,7 @@ index 6e99c83..1753831 100644 /* Sync everything on the the disk pager. */ sync_global (1); -@@ -1347,13 +1384,12 @@ diskfs_sync_everything (int wait) +@@ -1347,13 +1385,12 @@ diskfs_sync_everything (int wait) error_t sync_one (void *v_p) { struct pager *p = v_p; @@ -149,7 +156,7 @@ index 6e99c83..1753831 100644 /* Do things on the the disk pager. */ sync_global (wait); -@@ -1372,7 +1408,8 @@ disable_caching () +@@ -1372,7 +1409,8 @@ disable_caching () /* Loop through the pagers and turn off caching one by one, synchronously. That should cause termination of each pager. */ @@ -159,7 +166,7 @@ index 6e99c83..1753831 100644 } static void -@@ -1400,7 +1437,8 @@ enable_caching () +@@ -1400,7 +1438,8 @@ enable_caching () return 0; } @@ -169,7 +176,7 @@ index 6e99c83..1753831 100644 } /* Tell diskfs if there are pagers exported, and if none, then -@@ -1408,7 +1446,7 @@ enable_caching () +@@ -1408,7 +1447,7 @@ enable_caching () int diskfs_pager_users () { @@ -178,7 +185,7 @@ index 6e99c83..1753831 100644 if (npagers <= 1) return 0; -@@ -1421,8 +1459,8 @@ diskfs_pager_users () +@@ -1421,8 +1460,8 @@ diskfs_pager_users () immediately. XXX */ sleep (1); @@ -189,7 +196,7 @@ index 6e99c83..1753831 100644 return 0; /* Darn, there are actual honest users. Turn caching back on, -@@ -1430,7 +1468,7 @@ diskfs_pager_users () +@@ -1430,7 +1469,7 @@ diskfs_pager_users () enable_caching (); } @@ -198,7 +205,7 @@ index 6e99c83..1753831 100644 return 1; } -@@ -1441,17 +1479,15 @@ vm_prot_t +@@ -1441,17 +1480,15 @@ vm_prot_t diskfs_max_user_pager_prot () { vm_prot_t max_prot = 0; @@ -219,7 +226,7 @@ index 6e99c83..1753831 100644 /* Stop iterating if MAX_PROT is as filled as it's going to get. */ return (max_prot == (VM_PROT_READ|VM_PROT_WRITE|VM_PROT_EXECUTE)) ? 1 : 0; -@@ -1463,12 +1499,12 @@ diskfs_max_user_pager_prot () +@@ -1463,12 +1500,12 @@ diskfs_max_user_pager_prot () immediately. XXX */ sleep (1); -- cgit v1.2.3