]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
STABLE14-afsd-fs-check-20060323
authorDerrick Brashear <shadow@dementia.org>
Thu, 23 Mar 2006 15:40:10 +0000 (15:40 +0000)
committerDerrick Brashear <shadow@dementia.org>
Thu, 23 Mar 2006 15:40:10 +0000 (15:40 +0000)
from debian, modified slightly. tell people why their filesystem sucks

(cherry picked from commit a1041136186dba50f035ddc9b97fbfb86469b504)

src/afsd/afsd.c

index 82b823f17d22b12a7cb2e84e6b7689d6b021b494..03e77408d90164117d5e4f79b47296d7f06f7944 100644 (file)
@@ -1069,6 +1069,10 @@ CheckCacheBaseDir(char *dir)
            return "cannot use reiserfs as cache partition";
        } else if  (statfsbuf.f_type == 0x58465342) { /* XFS_SUPER_MAGIC */
            return "cannot use xfs as cache partition";
+       } else if (statfsbuf.f_type == 0x01021994) {    /* TMPFS_SUPER_MAGIC */
+            return "cannot use tmpfs as cache partition";
+        } else if (statfsbuf.f_type != 0xEF53) {
+            return "must use ext2 or ext3 for cache partition";
        }
     }
 #endif
@@ -1719,7 +1723,12 @@ mainproc(struct cmd_syndesc *as, char *arock)
     vFilePtr = fullpn_VFile + strlen(fullpn_VFile);
 
     if  (!(cacheFlags & AFSCALL_INIT_MEMCACHE) && (fsTypeMsg = CheckCacheBaseDir(cacheBaseDir))) {
-       printf("%s: WARNING: Cache dir check failed (%s)\n", rn, fsTypeMsg);
+#ifdef AFS_SUN5_ENV
+        printf("%s: WARNING: Cache dir check failed (%s)\n", rn, fsTypeMsg);
+#else
+       printf("%s: ERROR: Cache dir check failed (%s)\n", rn, fsTypeMsg);
+       exit(1);
+#endif
     }
 #if 0
     fputs(AFS_GOVERNMENT_MESSAGE, stdout);