commit-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[SCM] Debian GNU Hurd packaging branch, master, updated. debian/20100926


From: Samuel Thibault
Subject: [SCM] Debian GNU Hurd packaging branch, master, updated. debian/20100926-1-18-g8e49874
Date: Tue, 22 Feb 2011 01:07:22 +0000

The following commit has been merged in the master branch:
commit 8e498749b5194103e2a32f922c62ce4b39f7b2fc
Author: Samuel Thibault <address@hidden>
Date:   Tue Feb 22 02:06:48 2011 +0100

    Avoid systematically waiting for all disk writes
    
      * debian/patches/ext2fs_nowait.patch: Avoid systematically waiting for all
        disk writes, as it slows us down awfully.

diff --git a/debian/changelog b/debian/changelog
index 5afc194..5853752 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -8,6 +8,8 @@ hurd (20101029-1) UNRELEASED; urgency=low
   * debian/local/runsystem: Don't let d-i start if there is less then 256MiB
     memory.  Tell the user he needs to be patient while the d-i templates get
     loaded.
+  * debian/patches/ext2fs_nowait.patch: Avoid systematically waiting for all
+    disk writes, as it slows us down awfully.
 
   [ Justus Winter ]
   * debian/hurd.{postinst,postrm}: Add/remove loginpr shell and login user with
diff --git a/debian/patches/ext2fs_nowait.patch 
b/debian/patches/ext2fs_nowait.patch
new file mode 100644
index 0000000..9a719bd
--- /dev/null
+++ b/debian/patches/ext2fs_nowait.patch
@@ -0,0 +1,151 @@
+diff --git a/ext2fs/dir.c b/ext2fs/dir.c
+index 66d8c8a..f0f52f7 100644
+--- a/ext2fs/dir.c
++++ b/ext2fs/dir.c
+@@ -690,7 +690,7 @@ diskfs_direnter_hard (struct node *dp, const char *name, 
struct node *np,
+       }
+     }
+ 
+-  diskfs_file_update (dp, 1);
++  diskfs_file_update (dp, diskfs_synchronous);
+ 
+   return 0;
+ }
+@@ -727,7 +727,7 @@ diskfs_dirremove_hard (struct node *dp, struct dirstat *ds)
+   if (dp->dn->dirents && dp->dn->dirents[ds->idx] != -1)
+     dp->dn->dirents[ds->idx]--;
+ 
+-  diskfs_file_update (dp, 1);
++  diskfs_file_update (dp, diskfs_synchronous);
+ 
+   return 0;
+ }
+@@ -753,7 +753,7 @@ diskfs_dirrewrite_hard (struct node *dp, struct node *np, 
struct dirstat *ds)
+ 
+   munmap ((caddr_t) ds->mapbuf, ds->mapextent);
+ 
+-  diskfs_file_update (dp, 1);
++  diskfs_file_update (dp, diskfs_synchronous);
+ 
+   return 0;
+ }
+diff --git a/ext2fs/truncate.c b/ext2fs/truncate.c
+index 077225b..2058a1c 100644
+--- a/ext2fs/truncate.c
++++ b/ext2fs/truncate.c
+@@ -294,7 +294,7 @@ diskfs_truncate (struct node *node, off_t length)
+       node->dn_stat.st_size = length;
+       node->dn_set_mtime = 1;
+       node->dn_set_ctime = 1;
+-      diskfs_node_update (node, 1);
++      diskfs_node_update (node, diskfs_synchronous);
+       return 0;
+     }
+ 
+@@ -309,6 +309,7 @@ diskfs_truncate (struct node *node, off_t length)
+     {
+       diskfs_node_rdwr (node, (void *)zeroblock, length, block_size - offset,
+                       1, 0, 0);
++      /* Make sure that really happens to avoid leaks.  */
+       diskfs_file_update (node, 1);
+     }
+ 
+@@ -323,7 +324,7 @@ diskfs_truncate (struct node *node, off_t length)
+   node->dn_stat.st_size = length;
+   node->dn_set_mtime = 1;
+   node->dn_set_ctime = 1;
+-  diskfs_node_update (node, 1);
++  diskfs_node_update (node, diskfs_synchronous);
+ 
+   err = diskfs_catch_exception ();
+   if (!err)
+diff --git a/libdiskfs/dir-init.c b/libdiskfs/dir-init.c
+index 2cba3a4..4efded0 100644
+--- a/libdiskfs/dir-init.c
++++ b/libdiskfs/dir-init.c
+@@ -63,6 +63,6 @@ diskfs_init_dir (struct node *dp, struct node *pdp, struct 
protid *cred)
+       return err;
+     }
+ 
+-  diskfs_node_update (dp, 1);
++  diskfs_node_update (dp, diskfs_synchronous);
+   return 0;
+ }
+diff --git a/libdiskfs/dir-link.c b/libdiskfs/dir-link.c
+index 7cc8863..df1bb6a 100644
+--- a/libdiskfs/dir-link.c
++++ b/libdiskfs/dir-link.c
+@@ -101,7 +101,7 @@ diskfs_S_dir_link (struct protid *dircred,
+     }
+   np->dn_stat.st_nlink++;
+   np->dn_set_ctime = 1;
+-  diskfs_node_update (np, 1);
++  diskfs_node_update (np, diskfs_synchronous);
+ 
+   /* Attach it */
+   if (tnp)
+diff --git a/libdiskfs/dir-rename.c b/libdiskfs/dir-rename.c
+index 867e395..298669b 100644
+--- a/libdiskfs/dir-rename.c
++++ b/libdiskfs/dir-rename.c
+@@ -164,7 +164,7 @@ diskfs_S_dir_rename (struct protid *fromcred,
+     }
+   fnp->dn_stat.st_nlink++;
+   fnp->dn_set_ctime = 1;
+-  diskfs_node_update (fnp, 1);
++  diskfs_node_update (fnp, diskfs_synchronous);
+ 
+   if (tnp)
+     {
+diff --git a/libdiskfs/dir-renamed.c b/libdiskfs/dir-renamed.c
+index ce8f415..319a41a 100644
+--- a/libdiskfs/dir-renamed.c
++++ b/libdiskfs/dir-renamed.c
+@@ -177,7 +177,7 @@ diskfs_rename_dir (struct node *fdp, struct node *fnp, 
const char *fromname,
+     }
+   fnp->dn_stat.st_nlink++;
+   fnp->dn_set_ctime = 1;
+-  diskfs_node_update (fnp, 1);
++  diskfs_node_update (fnp, diskfs_synchronous);
+ 
+   if (tnp)
+     {
+diff --git a/libdiskfs/file-set-trans.c b/libdiskfs/file-set-trans.c
+index 26a19eb..c9b2c61 100644
+--- a/libdiskfs/file-set-trans.c
++++ b/libdiskfs/file-set-trans.c
+@@ -196,7 +196,7 @@ diskfs_S_file_set_translator (struct protid *cred,
+             if (!error)
+               {
+                 np->dn_stat.st_mode = newmode;
+-                diskfs_node_update (np, 1);
++                diskfs_node_update (np, diskfs_synchronous);
+               }
+             mutex_unlock (&np->lock);
+             return error;
+diff --git a/libdiskfs/node-create.c b/libdiskfs/node-create.c
+index 4a7d108..5b5e463 100644
+--- a/libdiskfs/node-create.c
++++ b/libdiskfs/node-create.c
+@@ -131,7 +131,7 @@ diskfs_create_node (struct node *dir,
+   if (S_ISDIR (mode))
+     err = diskfs_init_dir (np, dir, cred);
+ 
+-  diskfs_node_update (np, 1);
++  diskfs_node_update (np, diskfs_synchronous);
+ 
+   if (err)
+     {
+diff --git a/libdiskfs/node-drop.c b/libdiskfs/node-drop.c
+index f44966b..c3d32c9 100644
+--- a/libdiskfs/node-drop.c
++++ b/libdiskfs/node-drop.c
+@@ -78,7 +78,7 @@ diskfs_drop_node (struct node *np)
+       np->dn_stat.st_mode = 0;
+       np->dn_stat.st_rdev = 0;
+       np->dn_set_ctime = np->dn_set_atime = 1;
+-      diskfs_node_update (np, 1);
++      diskfs_node_update (np, diskfs_synchronous);
+       diskfs_free_node (np, savemode);
+     }
+   else
diff --git a/debian/patches/series b/debian/patches/series
index bbd12b7..08bebb4 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -27,3 +27,4 @@ makedev_parted_store.patch
 console_ignore_bdf_err.patch
 libpthread_sigmask.patch
 disable-proc_getnports.patch
+ext2fs_nowait.patch

-- 
Debian GNU Hurd packaging



reply via email to

[Prev in Thread] Current Thread [Next in Thread]