summaryrefslogtreecommitdiffstats
path: root/loader2/method.c
diff options
context:
space:
mode:
authorPeter Jones <pjones@redhat.com>2005-01-25 20:20:01 +0000
committerPeter Jones <pjones@redhat.com>2005-01-25 20:20:01 +0000
commitdbf7c3b8b5e79cc2aef3cbdd4023765fd1419b7a (patch)
tree5fc97e9759ebb1a0f9effb5e6fa2bea347bcfbd2 /loader2/method.c
parent8fde12254a3fe1df1c960ef2d69c5e6c7ff890a2 (diff)
downloadanaconda-dbf7c3b8b5e79cc2aef3cbdd4023765fd1419b7a.tar.gz
anaconda-dbf7c3b8b5e79cc2aef3cbdd4023765fd1419b7a.tar.xz
anaconda-dbf7c3b8b5e79cc2aef3cbdd4023765fd1419b7a.zip
* loader2/method.c: make validIsoImages check the buildstamp and report
back if it found invalid entries. * loader2/method.h: update prototype for validIsoImages * loader2/hdinstall.c: call validIsoImages() with foundinvalid = 0 * loader2/nfsinstall.c: pass the address of foundinvalid to validIsoImages * update anaconda.spec
Diffstat (limited to 'loader2/method.c')
-rw-r--r--loader2/method.c18
1 files changed, 13 insertions, 5 deletions
diff --git a/loader2/method.c b/loader2/method.c
index ca31da481..27b71e324 100644
--- a/loader2/method.c
+++ b/loader2/method.c
@@ -145,7 +145,7 @@ int mountLoopback(char * fsystem, char * mntpoint, char * device) {
}
/* returns the *absolute* path (malloced) to the #1 iso image */
-char * validIsoImages(char * dirName) {
+char * validIsoImages(char * dirName, int *foundinvalid) {
DIR * dir;
struct dirent * ent;
char isoImage[1024];
@@ -175,10 +175,18 @@ char * validIsoImages(char * dirName) {
}
snprintf(path, sizeof(path), "/tmp/loopimage/%s/base/hdstg2.img", getProductPath());
- if (!access(path, F_OK)) {
- umountLoopback("/tmp/loopimage", "loop7");
- break;
- }
+ if (mountLoopback(path, "/mnt/runtime", "loop0")) {
+ umountLoopback("/mnt/runtime", "loop0");
+ } else {
+ if (verifyStamp("/mnt/runtime")) {
+ umountLoopback("/tmp/runtime", "loop0");
+ umountLoopback("/tmp/loopimage", "loop7");
+ break;
+ }
+ logMessage("disc %s is not the right image", isoImage);
+ umountLoopback("/mnt/runtime", "loop0");
+ if (foundinvalid) *foundinvalid = 1;
+ }
umountLoopback("/tmp/loopimage", "loop7");