r17656: some systems (like older solaris) don't return ENOTEMPTY on rmdir()
authorAndrew Tridgell <tridge@samba.org>
Mon, 21 Aug 2006 06:06:02 +0000 (06:06 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 19:16:20 +0000 (14:16 -0500)
with non-empty directory

source/ntvfs/posix/pvfs_mkdir.c

index 338fc7df0ba2aacbcbf5b42031cefe8a2088d7cf..2f5ba0a744d0cd2ac45fc71d7a0d3348116f9b3d 100644 (file)
@@ -179,6 +179,10 @@ NTSTATUS pvfs_rmdir(struct ntvfs_module_context *ntvfs,
        }
 
        if (rmdir(name->full_name) == -1) {
+               /* some olders systems don't return ENOTEMPTY to rmdir() */
+               if (errno == EEXIST) {
+                       return NT_STATUS_DIRECTORY_NOT_EMPTY;
+               }
                return pvfs_map_errno(pvfs, errno);
        }