Module Name:    src
Committed By:   manu
Date:           Thu Nov 24 01:55:33 UTC 2011

Modified Files:
        src/lib/libpuffs: null.c

Log Message:
Remove pnode of overwritten file.

When puffs_null_node_rename() overwrites existing file, its pnode
must�be removed, because src pnode already represents this file.

>From Evgeniy Ivanov <lolkaanti...@gmail.com>


To generate a diff of this commit:
cvs rdiff -u -r1.30 -r1.31 src/lib/libpuffs/null.c

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

Modified files:

Index: src/lib/libpuffs/null.c
diff -u src/lib/libpuffs/null.c:1.30 src/lib/libpuffs/null.c:1.31
--- src/lib/libpuffs/null.c:1.30	Mon Jun 27 12:06:19 2011
+++ src/lib/libpuffs/null.c	Thu Nov 24 01:55:33 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: null.c,v 1.30 2011/06/27 12:06:19 manu Exp $	*/
+/*	$NetBSD: null.c,v 1.31 2011/11/24 01:55:33 manu Exp $	*/
 
 /*
  * Copyright (c) 2007  Antti Kantee.  All Rights Reserved.
@@ -27,7 +27,7 @@
 
 #include <sys/cdefs.h>
 #if !defined(lint)
-__RCSID("$NetBSD: null.c,v 1.30 2011/06/27 12:06:19 manu Exp $");
+__RCSID("$NetBSD: null.c,v 1.31 2011/11/24 01:55:33 manu Exp $");
 #endif /* !lint */
 
 /*
@@ -480,10 +480,14 @@ puffs_null_node_rename(struct puffs_user
 	puffs_cookie_t targ_dir, puffs_cookie_t targ,
 	const struct puffs_cn *pcn_targ)
 {
+	struct puffs_node *pn_targ = targ;
 
 	if (rename(PCNPATH(pcn_src), PCNPATH(pcn_targ)) == -1)
 		return errno;
 
+        if (pn_targ)
+		puffs_pn_remove(pn_targ);
+
 	return 0;
 }
 

Reply via email to