summaryrefslogtreecommitdiff
path: root/debian/patches/sysvshm.patch
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches/sysvshm.patch')
-rw-r--r--debian/patches/sysvshm.patch31
1 files changed, 18 insertions, 13 deletions
diff --git a/debian/patches/sysvshm.patch b/debian/patches/sysvshm.patch
index 4e213513..a64b1da6 100644
--- a/debian/patches/sysvshm.patch
+++ b/debian/patches/sysvshm.patch
@@ -8,9 +8,8 @@
* inode.c (read_node): Set the S_IMMAP0 flag in the node's stat
mode.
-diff -rup cvs/hurd/ext2fs/inode.c work/hurd/ext2fs/inode.c
---- ext2fs/inode.c 2005-08-28 15:12:07.465246232 +0200
-+++ ext2fs/inode.c 2005-08-28 15:12:59.372355152 +0200
+--- ext2fs/inode.c 2005-08-30 17:08:51.000000000 +0200
++++ ext2fs/inode.c.new 2005-08-30 17:09:16.000000000 +0200
@@ -309,7 +309,7 @@
if (S_ISREG (st->st_mode) || S_ISDIR (st->st_mode)
|| (S_ISLNK (st->st_mode) && st->st_blocks))
@@ -20,54 +19,60 @@ diff -rup cvs/hurd/ext2fs/inode.c work/hurd/ext2fs/inode.c
/* Allocsize should be zero for anything except directories, files, and
long symlinks. These are the only things allowed to have any blocks
allocated as well, although st_size may be zero for any type (cases
-@@ -317,6 +317,9 @@
+@@ -317,6 +317,11 @@
linux, some devices). */
np->allocsize = 0;
++#ifdef S_IMMAP0
+ /* We start out with no map users. */
+ st->st_mode |= S_IMMAP0;
++#endif
+ }
return 0;
}
-diff -rup cvs/hurd/ext2fs/pager.c work/hurd/ext2fs/pager.c
---- ext2fs/pager.c 2002-06-11 17:38:01.000000000 -0400
-+++ ext2fs/pager.c 2005-03-09 17:45:27.000000000 -0500
-@@ -20,6 +20,7 @@
-
+--- ext2fs/pager.c 2005-08-30 17:08:51.000000000 +0200
++++ ext2fs/pager.c.new 2005-08-30 17:09:17.000000000 +0200
+@@ -21,6 +21,7 @@
+ #include <unistd.h>
#include <string.h>
#include <errno.h>
+#include <sys/stat.h>
#include <hurd/store.h>
#include "ext2fs.h"
-@@ -744,6 +745,7 @@ pager_clear_user_data (struct user_pager
+@@ -799,6 +800,9 @@
if (upi->type == FILE_DATA)
{
struct pager *pager;
++#ifdef S_IMMAP0
+ struct node *np;
++#endif
spin_lock (&node_to_page_lock);
pager = upi->node->dn->pager;
-@@ -751,6 +753,11 @@ pager_clear_user_data (struct user_pager
+@@ -806,6 +810,13 @@
upi->node->dn->pager = 0;
spin_unlock (&node_to_page_lock);
++#ifdef S_IMMAP0
+ np = upi->node;
+ mutex_lock (&np->lock);
+ np->dn_stat.st_mode |= S_IMMAP0;
+ mutex_unlock (&np->lock);
++#endif
+
diskfs_nrele_light (upi->node);
}
-@@ -824,6 +831,8 @@ diskfs_get_filemap (struct node *node, v
+@@ -1251,6 +1262,10 @@
return MACH_PORT_NULL;
}
++#ifdef S_IMMAP0
+ node->dn_stat.st_mode &= ~S_IMMAP0;
++#endif
+
right = pager_get_port (node->dn->pager);
ports_port_deref (node->dn->pager);
}
-