Re: [BUG] 2.2.24-rc2/2.4.18/2.4.20 UMSDOS hardlink OOPS

Barry K. Nathan (barryn@pobox.com)
Tue, 31 Dec 2002 02:48:35 -0800


On Tue, Dec 31, 2002 at 12:01:17AM -0800, Barry K. Nathan wrote:
> 4. Obtain the glibc package from the "L" package set (I think the
> filename is "slackware/l/glibc-2.2.5-i386-2.tgz" from your Slackware 8.1
> FTP mirror, your Slackware CD burned from downloaded ISO file, or disc 1
> from your Slackware boxed set), and install it. In my case, this means
> inserting disc 1, mounting it on /mnt/cdrom, and "installpkg
> /mnt/cdrom/slackware/l/glibc-2.2.5-i386-2.tgz".

Or, for more verbosity, replace
installpkg /mnt/cdrom/slackware/l/glibc-2.2.5-i386-2.tgz

with
cd / # important, if done from say /root the oops doesn't happen
tar zxvf /mnt/cdrom/slackware/l/glibc-2.2.5-i386-2.tgz

(Then you can strace tar if listing each filename isn't enough for you.)

> At this point I'm not sure what should be done to fix this. Should
> umsdos_solve_hlink (or UMSDOS_link?) be turning the negative dentry into
> some kind of error (-ENOENT?) for the calling function? (Hmmm... after I
> send this e-mail I think I'll try making a patch to do this and see what
> effect it has.) Or is the negative dentry itself a symptom/result of

Ok, I've done this (returning -ENOENT from umsdos_solve_link instead of
oopsing). I guess I'll post the patches (one for 2.2, one for 2.4)
tomorrow after I test them some more. This seems in my limited testing
to improve stability and eliminate data loss vs. not having the patch,
but I need to test it a bit more first. (In any case, the patch only
makes a difference in cases that would have oopsed/segfaulted without
it.)

IOW, it's an incomplete (if not simply wrong) fix, but it could be
better than what's there now, maybe.

-Barry K. Nathan <barryn@pobox.com>
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/