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

Re: Ext2fs bug going updating debian package



> The reformat didn't help, so I may try that to see if I can come up with 
> a good answer.

Well, I would like to figure out exactly what your problem really is.
Earlier today I checked in a couple of changes to ext2fs and libdiskfs
(appended below) that should give some more details in the error output.
Please show us the exact error messages you see.

> Can I pass an alternate servers.boot file to serverboot 
> in grub?  (Or is there a better way to try alternate ext2fs.static 
> files)  I'd like to maybe try and make it work - I would be sad if I 
> couldn't use the Hurd after the April snapshot. =)

In the current arrangement, grub just runs serverboot and it does the rest.
Give the -a option on the kernel command line, and serverboot will prompt
for the server binaries to use.  Or you can just edit servers.boot from
linux to point it at a different ext2fs binary.


In libdiskfs:

1999-05-19  Roland McGrath  <roland@baalperazim.frob.com>

	* console.c (diskfs_console_stdio): If there is an fd 2 that appears
	to work, just leave it as is and dup2 it to fd 1 as well.

Index: console.c
===================================================================
RCS file: /afs/sipb.mit.edu/project/hurddev/cvsroot/hurd/libdiskfs/console.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -p -r1.4 -r1.5
--- console.c	1998/12/27 10:11:32	1.4
+++ console.c	1999/05/19 18:14:58	1.5
@@ -1,6 +1,6 @@
 /* Redirect stdio to the console if possible
 
-   Copyright (C) 1995, 96, 98 Free Software Foundation, Inc.
+   Copyright (C) 1995, 96, 98, 99 Free Software Foundation, Inc.
 
    Written by Miles Bader <miles@gnu.ai.mit.edu>
 
@@ -33,12 +33,18 @@
 
 #include "priv.h"
 
-/* Make errors go somewhere reasonable.  */
+/* Make sure errors go somewhere reasonable.  */
 void
 diskfs_console_stdio ()
 {
   if (getpid () > 0)
     {
+      if (write (2, "", 0) == 0)
+	/* We have a working stderr from our parent (e.g. settrans -a).
+	   Just use it.  */
+	dup2 (2, 1);
+      else
+	{
       int fd = open ("/dev/console", O_RDWR);
 
       dup2 (fd, 0);
@@ -46,6 +52,7 @@ diskfs_console_stdio ()
       dup2 (fd, 2);
       if (fd > 2)
 	close (fd);
+	}
     }
   else
     {



In ext2fs:

1999-05-19  Roland McGrath  <roland@baalperazim.frob.com>

	* ext2fs.c (main): Include store size in panic msg when it's too small.

Index: ext2fs.c
===================================================================
RCS file: /afs/sipb.mit.edu/project/hurddev/cvsroot/hurd/ext2fs/ext2fs.c,v
retrieving revision 1.49
diff -u -b -p -r1.49 ext2fs.c
--- ext2fs.c	1999/01/24 02:45:26	1.49
+++ ext2fs.c	1999/05/19 18:03:20
@@ -1,6 +1,6 @@
 /* Main entry point for the ext2 file system translator
 
-   Copyright (C) 1994, 95, 96, 97, 98 Free Software Foundation, Inc.
+   Copyright (C) 1994, 95, 96, 97, 98, 99 Free Software Foundation, Inc.
 
    Converted for ext2fs by Miles Bader <miles@gnu.ai.mit.edu>
 
@@ -144,7 +144,7 @@ main (int argc, char **argv)
 			    &store_parsed, &bootstrap);
 
   if (store->size < SBLOCK_OFFS + SBLOCK_SIZE)
-    ext2_panic ("superblock won't fit on the device!");
+    ext2_panic ("device too small for superblock (%ld bytes)", store->size);
   if (store->log2_blocks_per_page < 0)
     ext2_panic ("device block size (%u) greater than page size (%d)",


Reply to: