Hi,

I'm investigating a report where after few crashes ZFS got corrupted in
a way that the corruption is not reported by scrub.

The problem is that one of the directories disappeared, but its name is
still listed in parent directory.

For example when I do 'ls' in the parent directory I get:

        # ls
        ls: missing: No such file or directory
        <other entries>

'missing' is the name of the missing directory. Which means that the
'missing' directory is still listed in its parent.

Its inode number as reported by getdents(2) is 48. Now when I use zdb to
find object with this inode number I get:

        # zdb -dvvvvv tank/data 48
        Dataset tank/data [ZPL], [...]

            Object  lvl   iblk   dblk  dsize  lsize   %full  type
        zdb: dmu_bonus_hold(48) failed, errno 2

On the other hand, when I do the same for its parent directory object I
get:

        # zdb -dvvvvv tank/data 4
        Dataset tank/data [ZPL], [...]
                [...]
                missing = 48 (type: Directory)
                [...]

When this directory disappeared it had lots of entries.

Any ideas what might have caused this and eventually do you see a way to
recover that directory?

-- 
Pawel Jakub Dawidek                       http://www.wheelsystems.com
FreeBSD committer                         http://www.FreeBSD.org
Am I Evil? Yes, I Am!                     http://mobter.com
_______________________________________________
developer mailing list
[email protected]
http://lists.open-zfs.org/mailman/listinfo/developer

Reply via email to