Module Name: src Committed By: manu Date: Fri Sep 5 15:20:17 UTC 2014
Modified Files: src/lib/libperfuse: ops.c Log Message: rmdir dir/.. must return an error. Use ENOTEMPRY like FFS does. To generate a diff of this commit: cvs rdiff -u -r1.72 -r1.73 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.72 src/lib/libperfuse/ops.c:1.73 --- src/lib/libperfuse/ops.c:1.72 Wed Sep 3 23:59:58 2014 +++ src/lib/libperfuse/ops.c Fri Sep 5 15:20:16 2014 @@ -1,4 +1,4 @@ -/* $NetBSD: ops.c,v 1.72 2014/09/03 23:59:58 enami Exp $ */ +/* $NetBSD: ops.c,v 1.73 2014/09/05 15:20:16 manu Exp $ */ /*- * Copyright (c) 2010-2011 Emmanuel Dreyfus. All rights reserved. @@ -2352,6 +2352,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);