fix isBaseFile
diff --git a/copyOnWriteFs.go b/copyOnWriteFs.go
index e0d7870..2f8c61b 100644
--- a/copyOnWriteFs.go
+++ b/copyOnWriteFs.go
@@ -30,6 +30,16 @@
 		return false, nil
 	}
 	_, err := u.base.Stat(name)
+	if err != nil {
+		if oerr, ok := err.(*os.PathError); ok {
+			if oerr.Err == os.ErrNotExist || oerr.Err == syscall.ENOENT {
+				return false, nil
+			}
+		}
+		if err == syscall.ENOENT {
+			return false, nil
+		}
+	}
 	return true, err
 }
 
@@ -236,5 +246,5 @@
 }
 
 func (u *CopyOnWriteFs) Create(name string) (File, error) {
-	return u.OpenFile(name, os.O_TRUNC|os.O_RDWR, 0666)
+	return u.OpenFile(name, os.O_CREATE|os.O_TRUNC|os.O_RDWR, 0666)
 }