Recovery from disk+fs crash

Robin Elfrink elfrink at introweb.nl
Wed Jun 7 13:16:08 UTC 2006


Eric Anderson wrote:

>>>>root@:~# fsck /dev/da0s1f
>>>>** /dev/da0s1f (NO WRITE)
>>>>cannot alloc 18446744067446403432 bytes for inphead


> You could go in with fsdb and fix the parts manually, but it wouldn't be

root@:~# fsdb /dev/da0s1f
** /dev/da0s1f (NO WRITE)
cannot alloc 18446744067446403432 bytes for inphead
fsdb: cannot set up file system '/dev/da0s1f'


Following is in fsck's setup.c:

        inphead = (struct inoinfo **)calloc((unsigned)numdirs,
            sizeof(struct inoinfo *));
        if (inpsort == NULL || inphead == NULL) {
                printf("cannot alloc %u bytes for inphead\n",
                    (unsigned)numdirs * sizeof(struct inoinfo *));
                goto badsb;
        }


So I suppose somehow the number of directories somewhere is over the
top. I'm afraid the only thing left is to do hexedit on the disk...


Robin


More information about the freebsd-isp mailing list