Module Name:    src
Committed By:   pooka
Date:           Fri Oct  9 16:38:21 UTC 2009

Modified Files:
        src/usr.sbin/puffs/rump_lfs: rump_lfs.c

Log Message:
Start cleaner without the sleep(1) hack now that it's possible.


To generate a diff of this commit:
cvs rdiff -u -r1.7 -r1.8 src/usr.sbin/puffs/rump_lfs/rump_lfs.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/usr.sbin/puffs/rump_lfs/rump_lfs.c
diff -u src/usr.sbin/puffs/rump_lfs/rump_lfs.c:1.7 src/usr.sbin/puffs/rump_lfs/rump_lfs.c:1.8
--- src/usr.sbin/puffs/rump_lfs/rump_lfs.c:1.7	Wed Oct  7 20:59:09 2009
+++ src/usr.sbin/puffs/rump_lfs/rump_lfs.c	Fri Oct  9 16:38:21 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: rump_lfs.c,v 1.7 2009/10/07 20:59:09 pooka Exp $	*/
+/*	$NetBSD: rump_lfs.c,v 1.8 2009/10/09 16:38:21 pooka Exp $	*/
 
 /*
  * Copyright (c) 2008 Antti Kantee.  All Rights Reserved.
@@ -51,7 +51,6 @@
 	the_argv[1] = "-D"; /* don't fork() & detach */
 	the_argv[2] = arg;
 
-	sleep(1); /* XXXtehsuck: wait until mount is complete in other thread */
 	lfs_cleaner_main(3, __UNCONST(the_argv));
 
 	return NULL;
@@ -63,6 +62,7 @@
 	struct ufs_args args;
 	char canon_dev[UKFS_PARTITION_MAXPATHLEN], canon_dir[MAXPATHLEN];
 	char rawdev[MAXPATHLEN];
+	struct p2k_mount *p2m;
 	pthread_t cleanerthread;
 	int mntflags, part;
 	int rv;
@@ -100,22 +100,28 @@
 	 *
 	 * opt for "2" for now
 	 */
+#ifdef CLEANER_TESTING
+	ukfs_mount(MOUNT_LFS, canon_dev, canon_dir, mntflags,
+	    &args, sizeof(args));
+	cleaner(canon_dir);
+#endif
+
+	p2m = p2k_setup_diskfs(MOUNT_LFS, canon_dev, part, canon_dir, mntflags,
+	    &args, sizeof(args), 0);
+	if (!p2m)
+		err(1, "mount");
+
 #ifndef CLEANER_TESTING
 	if ((mntflags & MNT_RDONLY) == 0) {
 		if (pthread_create(&cleanerthread, NULL,
 		    cleaner, canon_dir) == -1)
 			err(1, "cannot start cleaner");
 	}
-#else
-	ukfs_mount(MOUNT_LFS, canon_dev, canon_dir, mntflags,
-	    &args, sizeof(args));
-	cleaner(canon_dir);
 #endif
 
-	rv = p2k_run_diskfs(MOUNT_LFS, canon_dev, part, canon_dir, mntflags,
-	    &args, sizeof(args), 0);
-	if (rv)
-		err(1, "mount");
+	rv = p2k_mainloop(p2m);
+	if (rv == -1)
+		err(1, "fs service");
 
 	return 0;
 }

Reply via email to