mirror of
https://github.com/opnsense/src.git
synced 2026-06-05 06:42:56 -04:00
The existing tmpfs implementation will return ENOTEMPTY for VOP_RMDIR, or for the destination 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, and avoid returning ENOTEMPTY if IGNOREWHITEOUT has been specified by the caller and the total allocation of dirents is not greater than the total whiteout allocation. This addresses "directory 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. Differential Revision: https://reviews.freebsd.org/D45987 Reviewed by: kib (prior version), olce Tested by: pho |
||
|---|---|---|
| .. | ||
| tmpfs.h | ||
| tmpfs_fifoops.c | ||
| tmpfs_fifoops.h | ||
| tmpfs_subr.c | ||
| tmpfs_vfsops.c | ||
| tmpfs_vnops.c | ||
| tmpfs_vnops.h | ||