Summary: | vfs: Fix 'emptydir' mount option and vfs_emptydir() | ||
---|---|---|---|
Product: | Base System | Reporter: | Olivier Certner <olce> |
Component: | kern | Assignee: | Olivier Certner <olce> |
Status: | Closed FIXED | ||
Severity: | Affects Some People | CC: | freebsd, grahamperrin |
Priority: | --- | ||
Version: | CURRENT | ||
Hardware: | Any | ||
OS: | Any | ||
See Also: | https://reviews.freebsd.org/D39775 |
Description
Olivier Certner
![]() ![]() A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=6450e7bbad0c68176f28b51773a3af5d6022c7dd commit 6450e7bbad0c68176f28b51773a3af5d6022c7dd Author: Olivier Certner <olce.freebsd@certner.fr> AuthorDate: 2023-04-22 16:07:07 +0000 Commit: Konstantin Belousov <kib@FreeBSD.org> CommitDate: 2023-04-28 01:27:54 +0000 vfs: Fix "emptydir" mount option Fix vfs_emptydir(). It would consider directories containing directories with name of the form 'X.' (X being any authorized byte) as empty. Also, it would cause VOP_READDIR() to return an error on directories containing enough whiteouts. While here, use a more decently sized buffer as done elsewhere. Remove ad-hoc iteration on the directory's content and instead use the newly exported vn_dir_next_dirent() function (this is what fixes the second problem mentioned above). PR: 270988 Reviewed by: kib MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D39775 sys/kern/vfs_subr.c | 115 ++++++++++++++++++++++++++++++---------------------- 1 file changed, 67 insertions(+), 48 deletions(-) A commit in branch stable/13 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=6a53a4ff653722488379cedf4326deabbfccd749 commit 6a53a4ff653722488379cedf4326deabbfccd749 Author: Olivier Certner <olce.freebsd@certner.fr> AuthorDate: 2023-04-22 16:07:07 +0000 Commit: Konstantin Belousov <kib@FreeBSD.org> CommitDate: 2023-05-05 06:20:58 +0000 vfs: Fix "emptydir" mount option PR: 270988 (cherry picked from commit 6450e7bbad0c68176f28b51773a3af5d6022c7dd) sys/kern/vfs_subr.c | 115 ++++++++++++++++++++++++++++++---------------------- 1 file changed, 67 insertions(+), 48 deletions(-) |