NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
kern/49971: Massive directory corruption with kernels newer than 11.Jun.2015
>Number: 49971
>Category: kern
>Synopsis: Massive directory corruption with kernels newer than 11.Jun.2015
>Confidential: no
>Severity: critical
>Priority: high
>Responsible: kern-bug-people
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Sun Jun 14 11:50:00 +0000 2015
>Originator: tps%vr-web.de@localhost
>Release: NetBSD 5.2_STABLE June, 13th 2015 18:17
>Environment:
System: NetBSD test-sct-bsn5-muc.bfs.de 5.2_STABLE NetBSD 5.2_STABLE (GENERIC) #32: Sat Jun 13 18:17:27 CEST 2015 jenkins%test-sct-bsn5-muc.bfs.de@localhost:/usr/obj/sys/arch/amd64/compile/GENERIC amd64
Architecture: x86_64
Machine: amd64
>Description:
Copying files to the system (CVS-Checkout done on an other system)
leads to directory corruption. Directories are marked as "deleted",
but exist halfways. Link count of these is 1, but should be 2.
Such directories cant be deleted, but are not listed. cd into them
is possible. It is even possible to create files within these directories
You may delete those files, fill them with data, edit them.
Trying to remove the directory leads to "Directory not empty". Listing the
directory lists only "." and "..". No other files. Recursively deleting with
"rm -rf </path/to/empty/not/deletable/directory>" may, for example, list:
/usr/src/CVS/S/mod, if /usr/src/CVS is reported as not empty.
Listing "/usr/src/CVS" will only show "." and "..". cd into /usr/src/CVS/S
is possible! Creating a file with "touch <filename>" works too. You may now
delete the created file with "rm <filename>" (it will even be possible to delete it
using "rm -rf /usr/src/CVS"). But directory /usr/src/CVS will be reported as being not
empty and will not be deleted.
>How-To-Repeat:
Compile a new kernel, install it, then copy a lot of files to this system, while deleting files and directories. Easiest way: do an rsync for some big directory, then change things at source and do an rsync (with --delete) again.
>Fix:
Unknown
Home |
Main Index |
Thread Index |
Old Index