summaryrefslogtreecommitdiff
path: root/debian/patches/ext2fs_large_stores_pthread.patch
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2013-09-17 19:45:51 +0200
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2013-09-17 19:45:51 +0200
commitfa00e45d586b096f485c06a83f968d2d3c6dc7e7 (patch)
treed50f7bfab3ce3b9fa9b34cd6a268710bbe1f7a38 /debian/patches/ext2fs_large_stores_pthread.patch
parentd3befb2c2bba6c6fb19a0c94931be9e625eb05a1 (diff)
parentdc017ca300b2271706c0b167ac5f678b069e5003 (diff)
Merge branch 'master' of git.debian.org:/git/pkg-hurd/hurd
Conflicts: debian/changelog
Diffstat (limited to 'debian/patches/ext2fs_large_stores_pthread.patch')
-rw-r--r--debian/patches/ext2fs_large_stores_pthread.patch344
1 files changed, 0 insertions, 344 deletions
diff --git a/debian/patches/ext2fs_large_stores_pthread.patch b/debian/patches/ext2fs_large_stores_pthread.patch
deleted file mode 100644
index 71f76a34..00000000
--- a/debian/patches/ext2fs_large_stores_pthread.patch
+++ /dev/null
@@ -1,344 +0,0 @@
-commit 93691ae1ae88c2d66d240b50e3ea5827f8a96c22
-Author: Richard Braun <rbraun@sceen.net>
-Date: Mon Sep 3 22:19:16 2012 +0200
-
- Move large storage patch to pthreads
-
-TODO: merge into ext2fs_large_stores.patch.
-
-Index: hurd-debian/ext2fs/ext2fs.h
-===================================================================
---- hurd-debian.orig/ext2fs/ext2fs.h 2012-11-26 00:24:49.000000000 +0000
-+++ hurd-debian/ext2fs/ext2fs.h 2012-11-26 00:24:58.000000000 +0000
-@@ -260,9 +260,9 @@
- /* Metadata about cached block. */
- extern struct disk_cache_info *disk_cache_info;
- /* Lock for these mappings */
--extern struct mutex disk_cache_lock;
-+extern pthread_mutex_t disk_cache_lock;
- /* Fired when a re-association is done. */
--extern struct condition disk_cache_reassociation;
-+extern pthread_cond_t disk_cache_reassociation;
-
- void *disk_cache_block_ref (block_t block);
- void disk_cache_block_ref_ptr (void *ptr);
-@@ -345,9 +345,9 @@
- boffs_ptr (off_t offset)
- {
- block_t block = boffs_block (offset);
-- mutex_lock (&disk_cache_lock);
-+ pthread_mutex_lock (&disk_cache_lock);
- char *ptr = hurd_ihash_find (disk_cache_bptr, block);
-- mutex_unlock (&disk_cache_lock);
-+ pthread_mutex_unlock (&disk_cache_lock);
- assert (ptr);
- ptr += offset % block_size;
- ext2_debug ("(%Ld) = %p", offset, ptr);
-@@ -361,12 +361,12 @@ bptr_offs (void *ptr)
- vm_offset_t mem_offset = (char *)ptr - (char *)disk_cache;
- off_t offset;
- assert (mem_offset < disk_cache_size);
-- mutex_lock (&disk_cache_lock);
-+ pthread_mutex_lock (&disk_cache_lock);
- offset = (off_t) disk_cache_info[boffs_block (mem_offset)].block
- << log2_block_size;
- assert (offset || mem_offset < block_size);
- offset += mem_offset % block_size;
-- mutex_unlock (&disk_cache_lock);
-+ pthread_mutex_unlock (&disk_cache_lock);
- ext2_debug ("(%p) = %Ld", ptr, offset);
- return offset;
- }
-diff --git a/ext2fs/pager.c b/ext2fs/pager.c
-index 2bec88d..67c9922 100644
---- a/ext2fs/pager.c
-+++ b/ext2fs/pager.c
-@@ -418,7 +418,7 @@ disk_pager_read_page (vm_offset_t page, void **buf, int *writelock)
- size_t length = vm_page_size, read = 0;
- store_offset_t offset = page, dev_end = store->size;
-
-- mutex_lock (&disk_cache_lock);
-+ pthread_mutex_lock (&disk_cache_lock);
- int index = offset >> log2_block_size;
- offset = ((store_offset_t) disk_cache_info[index].block << log2_block_size)
- + offset % block_size;
-@@ -430,7 +430,7 @@ disk_pager_read_page (vm_offset_t page, void **buf, int *writelock)
- = disk_cache_info[index].block ^ DISK_CACHE_LAST_READ_XOR;
- #endif
- ext2_debug ("(%Ld)", offset >> log2_block_size);
-- mutex_unlock (&disk_cache_lock);
-+ pthread_mutex_unlock (&disk_cache_lock);
-
- if (offset + vm_page_size > dev_end)
- length = dev_end - offset;
-@@ -454,7 +454,7 @@ disk_pager_write_page (vm_offset_t page, void *buf)
- size_t length = vm_page_size, amount;
- store_offset_t offset = page, dev_end = store->size;
-
-- mutex_lock (&disk_cache_lock);
-+ pthread_mutex_lock (&disk_cache_lock);
- int index = offset >> log2_block_size;
- assert (disk_cache_info[index].block != DC_NO_BLOCK);
- offset = ((store_offset_t) disk_cache_info[index].block << log2_block_size)
-@@ -465,7 +465,7 @@ disk_pager_write_page (vm_offset_t page, void *buf)
- assert (disk_cache_info[index].last_read
- == disk_cache_info[index].block);
- #endif
-- mutex_unlock (&disk_cache_lock);
-+ pthread_mutex_unlock (&disk_cache_lock);
-
- if (offset + vm_page_size > dev_end)
- length = dev_end - offset;
-@@ -526,9 +526,9 @@ disk_pager_notify_evict (vm_offset_t page)
-
- ext2_debug ("(block %u)", index);
-
-- mutex_lock (&disk_cache_lock);
-+ pthread_mutex_lock (&disk_cache_lock);
- disk_cache_info[index].flags &= ~DC_INCORE;
-- mutex_unlock (&disk_cache_lock);
-+ pthread_mutex_unlock (&disk_cache_lock);
- }
-
- /* Satisfy a pager read request for either the disk pager or file pager
-@@ -836,9 +836,9 @@
- /* Hint index for which cache block to reuse next. */
- int disk_cache_hint;
- /* Lock for these structures. */
--struct mutex disk_cache_lock;
-+pthread_mutex_t disk_cache_lock;
- /* Fired when a re-association is done. */
--struct condition disk_cache_reassociation;
-+pthread_cond_t disk_cache_reassociation;
-
- /* Finish mapping initialization. */
- static void
-@@ -848,8 +848,8 @@
- ext2_panic ("Block size %d != vm_page_size %d",
- block_size, vm_page_size);
-
-- mutex_init (&disk_cache_lock);
-- condition_init (&disk_cache_reassociation);
-+ pthread_mutex_init (&disk_cache_lock, NULL);
-+ pthread_cond_init (&disk_cache_reassociation, NULL);
-
- /* Allocate space for block num -> in-memory pointer mapping. */
- if (hurd_ihash_create (&disk_cache_bptr, HURD_IHASH_NO_LOCP))
-@@ -905,7 +905,7 @@
-
- /* Return unused pages that are in core. */
- int pending_begin = -1, pending_end = -1;
-- mutex_lock (&disk_cache_lock);
-+ pthread_mutex_lock (&disk_cache_lock);
- for (index = 0; index < disk_cache_blocks; index++)
- if (! (disk_cache_info[index].flags & (DC_DONT_REUSE & ~DC_INCORE))
- && ! disk_cache_info[index].ref_count)
-@@ -916,13 +916,13 @@ disk_cache_return_unused (void)
- /* Return previous region, if there is such, ... */
- if (pending_end >= 0)
- {
-- mutex_unlock (&disk_cache_lock);
-+ pthread_mutex_unlock (&disk_cache_lock);
- pager_return_some (diskfs_disk_pager,
- pending_begin * vm_page_size,
- (pending_end - pending_begin)
- * vm_page_size,
- 1);
-- mutex_lock (&disk_cache_lock);
-+ pthread_mutex_lock (&disk_cache_lock);
- }
- /* ... and start new region. */
- pending_begin = index;
-@@ -930,7 +930,7 @@ disk_cache_return_unused (void)
- pending_end = index + 1;
- }
-
-- mutex_unlock (&disk_cache_lock);
-+ pthread_mutex_unlock (&disk_cache_lock);
-
- /* Return last region, if there is such. */
- if (pending_end >= 0)
-@@ -958,7 +958,7 @@ disk_cache_block_ref (block_t block)
-
- ext2_debug ("(%u)", block);
-
-- mutex_lock (&disk_cache_lock);
-+ pthread_mutex_lock (&disk_cache_lock);
-
- bptr = hurd_ihash_find (disk_cache_bptr, block);
- if (bptr)
-@@ -971,8 +971,8 @@
- if (disk_cache_info[index].flags & DC_UNTOUCHED)
- {
- /* Wait re-association to finish. */
-- condition_wait (&disk_cache_reassociation, &disk_cache_lock);
-- mutex_unlock (&disk_cache_lock);
-+ pthread_cond_wait (&disk_cache_reassociation, &disk_cache_lock);
-+ pthread_mutex_unlock (&disk_cache_lock);
-
- #if 0
- printf ("Re-association -- wait finished.\n");
-@@ -992,7 +992,7 @@
- disk_cache_info[index].ref_count,
- disk_cache_info[index].flags, bptr);
-
-- mutex_unlock (&disk_cache_lock);
-+ pthread_mutex_unlock (&disk_cache_lock);
-
- return bptr;
- }
-@@ -1030,7 +1030,7 @@ disk_cache_block_ref (block_t block)
- {
- ext2_debug ("flush %u -> %d", disk_cache_info[index].block, index);
-
-- mutex_unlock (&disk_cache_lock);
-+ pthread_mutex_unlock (&disk_cache_lock);
-
- disk_cache_return_unused ();
-
-@@ -1050,9 +1050,9 @@ disk_cache_block_ref (block_t block)
-
- #if 0 /* XXX: Let's see if this is needed at all. */
-
-- mutex_unlock (&disk_cache_lock);
-+ pthread_mutex_unlock (&disk_cache_lock);
- pager_return_some (diskfs_disk_pager, bptr - disk_cache, vm_page_size, 1);
-- mutex_lock (&disk_cache_lock);
-+ pthread_mutex_lock (&disk_cache_lock);
-
- /* Has someone used our bptr? Has someone mapped requested block
- while we have unlocked disk_cache_lock? If so, environment has
-@@ -1060,7 +1060,7 @@ disk_cache_block_ref (block_t block)
- if ((! (disk_cache_info[index].flags & DC_UNTOUCHED))
- || hurd_ihash_find (disk_cache_bptr, block))
- {
-- mutex_unlock (&disk_cache_lock);
-+ pthread_mutex_unlock (&disk_cache_lock);
- return disk_cache_block_ref (block); /* tail recursion */
- }
-
-@@ -1068,15 +1068,15 @@ disk_cache_block_ref (block_t block)
-
- /* XXX: Use libpager internals. */
-
-- mutex_lock (&diskfs_disk_pager->interlock);
-+ pthread_mutex_lock (&diskfs_disk_pager->interlock);
- int page = (bptr - disk_cache) / vm_page_size;
- assert (page >= 0);
- int is_incore = (page < diskfs_disk_pager->pagemapsize
- && (diskfs_disk_pager->pagemap[page] & PM_INCORE));
-- mutex_unlock (&diskfs_disk_pager->interlock);
-+ pthread_mutex_unlock (&diskfs_disk_pager->interlock);
- if (is_incore)
- {
-- mutex_unlock (&disk_cache_lock);
-+ pthread_mutex_unlock (&disk_cache_lock);
- printf ("INCORE\n");
- return disk_cache_block_ref (block); /* tail recursion */
- }
-@@ -1096,13 +1096,13 @@ disk_cache_block_ref (block_t block)
- disk_cache_info[index].ref_count = 1;
-
- /* All data structures are set up. */
-- mutex_unlock (&disk_cache_lock);
-+ pthread_mutex_unlock (&disk_cache_lock);
-
- /* Try to read page. */
- *(volatile char *) bptr;
-
- /* Check if it's actually read. */
-- mutex_lock (&disk_cache_lock);
-+ pthread_mutex_lock (&disk_cache_lock);
- if (disk_cache_info[index].flags & DC_UNTOUCHED)
- /* It's not read. */
- {
-@@ -1111,7 +1111,7 @@ disk_cache_block_ref (block_t block)
- disk_cache_info[index].block = DC_NO_BLOCK;
- disk_cache_info[index].flags &=~ DC_UNTOUCHED;
- disk_cache_info[index].ref_count = 0;
-- mutex_unlock (&disk_cache_lock);
-+ pthread_mutex_unlock (&disk_cache_lock);
-
- /* Prepare next time association of this page to succeed. */
- pager_flush_some (diskfs_disk_pager, bptr - disk_cache,
-@@ -1124,10 +1124,10 @@ disk_cache_block_ref (block_t block)
- /* Try again. */
- return disk_cache_block_ref (block); /* tail recursion */
- }
-- mutex_unlock (&disk_cache_lock);
-+ pthread_mutex_unlock (&disk_cache_lock);
-
- /* Re-association was successful. */
-- condition_broadcast (&disk_cache_reassociation);
-+ pthread_cond_broadcast (&disk_cache_reassociation);
-
- ext2_debug ("(%u) = %p", block, bptr);
- return bptr;
-@@ -1139,7 +1139,7 @@
- {
- int index;
-
-- mutex_lock (&disk_cache_lock);
-+ pthread_mutex_lock (&disk_cache_lock);
- index = bptr_index (ptr);
- assert (disk_cache_info[index].ref_count >= 1);
- assert (disk_cache_info[index].ref_count + 1
-@@ -1149,7 +1149,7 @@ disk_cache_block_ref_ptr (void *ptr)
- ptr,
- disk_cache_info[index].ref_count,
- disk_cache_info[index].flags);
-- mutex_unlock (&disk_cache_lock);
-+ pthread_mutex_unlock (&disk_cache_lock);
- }
-
- void
-@@ -1159,7 +1159,7 @@ disk_cache_block_deref (void *ptr)
-
- assert (disk_cache <= ptr && ptr <= disk_cache + disk_cache_size);
-
-- mutex_lock (&disk_cache_lock);
-+ pthread_mutex_lock (&disk_cache_lock);
- index = bptr_index (ptr);
- ext2_debug ("(%p) (ref_count = %d, flags = 0x%x)",
- ptr,
-@@ -1168,7 +1168,7 @@ disk_cache_block_deref (void *ptr)
- assert (! (disk_cache_info[index].flags & DC_UNTOUCHED));
- assert (disk_cache_info[index].ref_count >= 1);
- disk_cache_info[index].ref_count--;
-- mutex_unlock (&disk_cache_lock);
-+ pthread_mutex_unlock (&disk_cache_lock);
- }
-
- /* Not used. */
-@@ -1179,13 +1179,13 @@ disk_cache_block_is_ref (block_t block)
- int ref;
- void *ptr;
-
-- mutex_lock (&disk_cache_lock);
-+ pthread_mutex_lock (&disk_cache_lock);
- ptr = hurd_ihash_find (disk_cache_bptr, block);
- if (! ptr)
- ref = 0;
- else /* XXX: Should check for DC_UNTOUCHED too. */
- ref = disk_cache_info[bptr_index (ptr)].ref_count;
-- mutex_unlock (&disk_cache_lock);
-+ pthread_mutex_unlock (&disk_cache_lock);
-
- return ref;
- }
-diff --git a/libpager/data-return.c b/libpager/data-return.c
-index 24533e7..0d71db7 100644
---- a/libpager/data-return.c
-+++ b/libpager/data-return.c
-@@ -243,9 +243,9 @@ _pager_do_write_request (mach_port_t object,
- /* Clear any error that is left. Notification on eviction
- is used only to change association of page, so any
- error may no longer be valid. */
-- mutex_lock (&p->interlock);
-+ pthread_mutex_lock (&p->interlock);
- *pm_entry = SET_PM_ERROR (SET_PM_NEXTERROR (*pm_entry, 0), 0);
-- mutex_unlock (&p->interlock);
-+ pthread_mutex_unlock (&p->interlock);
- }
- }
-