Module Name: src Committed By: msaitoh Date: Mon Nov 3 19:40:10 UTC 2014
Modified Files: src/lib/libperfuse [netbsd-6]: ops.c Log Message: Pull up following revision(s) (requested by manu in ticket #1148): lib/libperfuse/ops.c: revision 1.73 rmdir dir/.. must return an error. Use ENOTEMPTY like FFS does. To generate a diff of this commit: cvs rdiff -u -r1.50.2.10 -r1.50.2.11 src/lib/libperfuse/ops.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/libperfuse/ops.c diff -u src/lib/libperfuse/ops.c:1.50.2.10 src/lib/libperfuse/ops.c:1.50.2.11 --- src/lib/libperfuse/ops.c:1.50.2.10 Mon Nov 3 19:37:58 2014 +++ src/lib/libperfuse/ops.c Mon Nov 3 19:40:10 2014 @@ -1,4 +1,4 @@ -/* $NetBSD: ops.c,v 1.50.2.10 2014/11/03 19:37:58 msaitoh Exp $ */ +/* $NetBSD: ops.c,v 1.50.2.11 2014/11/03 19:40:10 msaitoh Exp $ */ /*- * Copyright (c) 2010-2011 Emmanuel Dreyfus. All rights reserved. @@ -2342,6 +2342,12 @@ perfuse_node_rmdir(struct puffs_usermoun (PERFUSE_NODE_DATA(targ)->pnd_flags & PND_REMOVED)) return ENOENT; + /* + * Attempt to rmdir dir/.. shoud raise ENOTEMPTY + */ + if (PERFUSE_NODE_DATA(targ)->pnd_nodeid == pnd->pnd_parent_nodeid) + return ENOTEMPTY; + node_ref(opc); node_ref(targ);