Module Name: src Committed By: pooka Date: Wed Jul 14 14:22:16 UTC 2010
Modified Files: src/tests/fs/puffs/h_dtfs: dtfs_vnops.c Log Message: check we don't rename onto a non-empty directory To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 src/tests/fs/puffs/h_dtfs/dtfs_vnops.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/tests/fs/puffs/h_dtfs/dtfs_vnops.c diff -u src/tests/fs/puffs/h_dtfs/dtfs_vnops.c:1.2 src/tests/fs/puffs/h_dtfs/dtfs_vnops.c:1.3 --- src/tests/fs/puffs/h_dtfs/dtfs_vnops.c:1.2 Wed Jul 14 13:09:52 2010 +++ src/tests/fs/puffs/h_dtfs/dtfs_vnops.c Wed Jul 14 14:22:15 2010 @@ -1,4 +1,4 @@ -/* $NetBSD: dtfs_vnops.c,v 1.2 2010/07/14 13:09:52 pooka Exp $ */ +/* $NetBSD: dtfs_vnops.c,v 1.3 2010/07/14 14:22:15 pooka Exp $ */ /* * Copyright (c) 2006 Antti Kantee. All Rights Reserved. @@ -304,6 +304,7 @@ const struct puffs_cn *pcn_targ) { struct dtfs_dirent *dfd_src; + struct dtfs_file *df_targ; struct puffs_node *pn_sdir = opc; struct puffs_node *pn_sfile = src; struct puffs_node *pn_tdir = targ_dir; @@ -325,7 +326,9 @@ /* if there's a target file, nuke it for atomic replacement */ if (pn_tfile) { if (pn_tfile->pn_va.va_type == VDIR) { - assert(/*CONSTCOND*/0); /* XXX FIXME */ + df_targ = DTFS_CTOF(pn_tfile); + if (!LIST_EMPTY(&df_targ->df_dirents)) + return ENOTEMPTY; } dtfs_nukenode(pn_tfile, pn_sdir, pcn_targ->pcn_name, pcn_targ->pcn_namelen);