Date: Tue, 16 Oct 2012 09:47:32 +0200 From: Alan Barrett <a...@cequrux.com>
On Mon, 15 Oct 2012, Taylor R Campbell wrote: >@@ -796,7 +794,11 @@ zfs_link_destroy(zfs_dirlock_t *dl, znod > if (zp_is_dir && !zfs_dirempty(zp)) { /* dir not empty */ > mutex_exit(&zp->z_lock); > vn_vfsunlock(vp); >+#ifdef __NetBSD__ /* XXX Make our dumb tests happier... */ >+ return (ENOTEMPTY); >+#else > return (EEXIST); >+#endif > } I'd suggest using ifdef ENOTEMPTY instead of ifdef __NetBSD__ here. Well, both NetBSD and Solaris have ENOTEMPTY -- it's in POSIX. POSIX says that rmdir and rename can return either ENOTEMPTY or EEXIST. It's just that all our other file systems return ENOTEMPTY in this case. (And the log message did not mention this change.) Oops, sorry -- that change was supposed to go in a separate commit. Should I change the commit message with `cvs admin', or revert the change and fix the tests instead, or do something else altogether?