Module Name:    src
Committed By:   pooka
Date:           Wed Feb  2 15:58:09 UTC 2011

Modified Files:
        src/sys/rump/librump/rumpvfs: rumpfs.c

Log Message:
Allow etfs for CREATE lookups too.  This takes care of O_CREAT calls
to open(), which act just like lookups if the node exists (found
from etfs).  If the node doesn't exist in etfs, nothing changes
from the previous situation.


To generate a diff of this commit:
cvs rdiff -u -r1.90 -r1.91 src/sys/rump/librump/rumpvfs/rumpfs.c

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

Modified files:

Index: src/sys/rump/librump/rumpvfs/rumpfs.c
diff -u src/sys/rump/librump/rumpvfs/rumpfs.c:1.90 src/sys/rump/librump/rumpvfs/rumpfs.c:1.91
--- src/sys/rump/librump/rumpvfs/rumpfs.c:1.90	Wed Feb  2 14:41:55 2011
+++ src/sys/rump/librump/rumpvfs/rumpfs.c	Wed Feb  2 15:58:09 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: rumpfs.c,v 1.90 2011/02/02 14:41:55 pooka Exp $	*/
+/*	$NetBSD: rumpfs.c,v 1.91 2011/02/02 15:58:09 pooka Exp $	*/
 
 /*
  * Copyright (c) 2009, 2010 Antti Kantee.  All Rights Reserved.
@@ -26,7 +26,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: rumpfs.c,v 1.90 2011/02/02 14:41:55 pooka Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rumpfs.c,v 1.91 2011/02/02 15:58:09 pooka Exp $");
 
 #include <sys/param.h>
 #include <sys/atomic.h>
@@ -679,7 +679,8 @@
 		return EOPNOTSUPP;
 
 	/* check for etfs */
-	if (dvp == rootvnode && cnp->cn_nameiop == LOOKUP) {
+	if (dvp == rootvnode &&
+	    (cnp->cn_nameiop == LOOKUP || cnp->cn_nameiop == CREATE)) {
 		bool found;
 		mutex_enter(&etfs_lock);
 		found = etfs_find(cnp->cn_nameptr, &et, false);

Reply via email to