code bug in loader2/urlinstall.c

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,guys


I am not sure whether it is a bug or it is intentionally designed.
In enterprise linux 4, if we do the following procedure
1. boot a box with CD1
2. type "linux askmethod"
3. choose http method
4. enter http server address and directory
then it would pop up a window asking whether to do the CD media check,
choose skip and it would jump back to step 4.
Then it would go into a dead loop.

below is the code excerpt from the loader2/urlinstall.c

case URL_STAGE_FETCH:
            if (FL_TESTING(flags)) {
                stage = URL_STAGE_DONE;
                dir = 1;
                break;
            }

	    /* ok messy - see if we have a stage2 on local CD */
	    /* before trying to pull one over network         */
	    cdurl = findRedHatCD(location, modInfo, modLoaded,
				 *modDeps, flags, 0);
	    if (cdurl) {
                if (!loadSingleUrlImage(&ui, "base/product.img", flags,
                                        "/tmp/ramfs/product-disk.img",
                                        "/tmp/product-disk",
                                        "loop7", 1) &&
                    verifyStamp("/tmp/product-disk")) {
                    logMessage("Detected stage 2 image on CD");
                    winStatus(50, 3, _("Media Detected"),
                              _("Local installation media detected..."), 0);
                    sleep(3);
                    newtPopWindow();

                    stage = URL_STAGE_DONE;
                    dir = 1;
                } else {
                    /* clean up as we found a cd, but the path was bad */
                    umountStage2();
                    umount("/mnt/source");
                    stage = URL_STAGE_MAIN;
                    dir = -1;
                }
                umountLoopback("/tmp/product-disk", "loop7");
                unlink("/tmp/ramfs/product-disk.img");
                unlink("/tmp/product-disk");
            } else {
		/* need to find stage 2 on remote site */

So if anaconda found there is a CD , and loadSingleUrlImage fails, it
would set the stage back to URL_STAGE_DONE, which would cause the
install process go back to the beginning, then the user enter http
server/folder name, it goes to the fetch stage again, then
loadSingleUrlImage fails.....
that is where the dead loop comes.

Is this code path intentionally designed?
Thanks

_______________________________________________
Anaconda-devel-list mailing list
Anaconda-devel-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/anaconda-devel-list

[Index of Archives]     [Kickstart]     [Fedora Users]     [Fedora Legacy List]     [Fedora Maintainers]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]
  Powered by Linux