The existing tmpfs implementation will return ENOTEMPTY for VOP_RMDIR,
or for the destinatiopn directory of VOP_RENAME, for any case in which
the directory is non-empty, even if the directory only contains
whiteouts.
Fix this by tracking total whiteout dirent allocation separately for
each directory, only returning ENOTEMPTY if the total allocation of
dirents is greater than the total whiteout allocation. This addresses
"directory entry not empty" failures seen on some recently-added
unionfs stress2 tests which use tmpfs as a base-layer filesystem.
A separate issue for independent consideration is that unionfs' default
behavior when deleting files or directories is to create whiteouts even
when it does not truly need to do so.