Merge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly
authorMatthew Dillon <dillon@apollo.backplane.com>
Tue, 20 Jan 2009 17:59:18 +0000 (09:59 -0800)
committerMatthew Dillon <dillon@apollo.backplane.com>
Tue, 20 Jan 2009 17:59:18 +0000 (09:59 -0800)
sbin/route/route.c
sys/vfs/msdosfs/msdosfs_vfsops.c
sys/vfs/msdosfs/msdosfsmount.h

index 232f671..80552be 100644 (file)
@@ -915,30 +915,26 @@ inet_makenetandmask(u_long net, struct sockaddr_in *in, u_long bits)
        char *cp;
 
        rtm_addrs |= RTA_NETMASK;
-       if (net == 0)
-               mask = addr = 0;
-       else {
-               if (net <= 0xff)
-                       addr = net << 24;
-               else if (net <= 0xffff)
-                       addr = net << 16;
-               else if (net <= 0xffffff)
-                       addr = net << 8;
-               else
-                       addr = net;
+       if (net <= 0xff)
+               addr = net << 24;
+       else if (net <= 0xffff)
+               addr = net << 16;
+       else if (net <= 0xffffff)
+               addr = net << 8;
+       else
+               addr = net;
 
-               if (bits)
-                       mask = 0xffffffff << (32 - bits);
-               else {
-                       if (IN_CLASSA(addr)) {
-                               mask = IN_CLASSA_NET;
-                       } else if (IN_CLASSB(addr)) {
-                               mask = IN_CLASSB_NET;
-                       } else if (IN_CLASSC(addr)) {
-                               mask = IN_CLASSC_NET;
-                       } else
-                               mask = 0xffffffff;
-               }
+       if (bits)
+               mask = 0xffffffff << (32 - bits);
+       else {
+               if (IN_CLASSA(addr)) {
+                       mask = IN_CLASSA_NET;
+               } else if (IN_CLASSB(addr)) {
+                       mask = IN_CLASSB_NET;
+               } else if (IN_CLASSC(addr)) {
+                       mask = IN_CLASSC_NET;
+               } else
+                       mask = 0xffffffff;
        }
        in->sin_addr.s_addr = htonl(addr);
        in = &so_mask.sin;
index 1cda067..1f3c870 100644 (file)
@@ -124,14 +124,6 @@ update_mp(struct mount *mp, struct msdosfs_args *argp)
                bcopy(argp->lu, pmp->pm_lu, sizeof(pmp->pm_lu));
        }
 
-#ifndef __DragonFly__
-       /*
-        * GEMDOS knows nothing (yet) about win95
-        */
-       if (pmp->pm_flags & MSDOSFSMNT_GEMDOSFS)
-               pmp->pm_flags |= MSDOSFSMNT_NOWIN95;
-#endif
-
        if (pmp->pm_flags & MSDOSFSMNT_NOWIN95)
                pmp->pm_flags |= MSDOSFSMNT_SHORTNAME;
        else if (!(pmp->pm_flags &
@@ -355,17 +347,11 @@ mountmsdosfs(struct vnode *devvp, struct mount *mp, struct msdosfs_args *argp)
        b50 = (struct byte_bpb50 *)bsp->bs50.bsBPB;
        b710 = (struct byte_bpb710 *)bsp->bs710.bsPBP;
 
-#ifndef __DragonFly__
-       if (!(argp->flags & MSDOSFSMNT_GEMDOSFS)) {
-#endif
 #ifndef MSDOSFS_NOCHECKSIG
-               if (bsp->bs50.bsBootSectSig0 != BOOTSIG0
-                   || bsp->bs50.bsBootSectSig1 != BOOTSIG1) {
-                       error = EINVAL;
-                       goto error_exit;
-               }
-#endif
-#ifndef __DragonFly__
+       if (bsp->bs50.bsBootSectSig0 != BOOTSIG0
+           || bsp->bs50.bsBootSectSig1 != BOOTSIG1) {
+               error = EINVAL;
+               goto error_exit;
        }
 #endif
 
@@ -391,19 +377,16 @@ mountmsdosfs(struct vnode *devvp, struct mount *mp, struct msdosfs_args *argp)
        /* calculate the ratio of sector size to DEV_BSIZE */
        pmp->pm_BlkPerSec = pmp->pm_BytesPerSec / DEV_BSIZE;
 
-#ifndef __DragonFly__
-       if (!(argp->flags & MSDOSFSMNT_GEMDOSFS)) {
-#endif
-               /* XXX - We should probably check more values here */
-               if (!pmp->pm_BytesPerSec || !SecPerClust
-                       || !pmp->pm_Heads
-                       || !pmp->pm_SecPerTrack || pmp->pm_SecPerTrack > 63) {
-                       error = EINVAL;
-                       goto error_exit;
-               }
-#ifndef __DragonFly__
+       /*
+        * We don't check pm_Heads nor pm_SecPerTrack, because
+        * these may not be set for EFI file systems. We don't
+        * use these anyway, so we're unaffected if they are
+        * invalid.
+        */
+       if (!pmp->pm_BytesPerSec || !SecPerClust) {
+               error = EINVAL;
+               goto error_exit;
        }
-#endif
 
        if (pmp->pm_Sectors == 0) {
                pmp->pm_HiddenSects = getulong(b50->bpbHiddenSecs);
@@ -414,9 +397,7 @@ mountmsdosfs(struct vnode *devvp, struct mount *mp, struct msdosfs_args *argp)
        }
 
        if (pmp->pm_RootDirEnts == 0) {
-               if (bsp->bs710.bsBootSectSig2 != BOOTSIG2
-                   || bsp->bs710.bsBootSectSig3 != BOOTSIG3
-                   || pmp->pm_Sectors
+               if (pmp->pm_Sectors
                    || pmp->pm_FATsecs
                    || getushort(b710->bpbFSVers)) {
                        error = EINVAL;
@@ -475,22 +456,6 @@ mountmsdosfs(struct vnode *devvp, struct mount *mp, struct msdosfs_args *argp)
            SecPerClust + 1;
        pmp->pm_fatsize = pmp->pm_FATsecs * DEV_BSIZE; /* XXX not used? */
 
-#ifndef __DragonFly__
-       if (argp->flags & MSDOSFSMNT_GEMDOSFS) {
-               if ((pmp->pm_maxcluster <= (0xff0 - 2))
-                     && ((dtype == DTYPE_FLOPPY) || ((dtype == DTYPE_VNODE)
-                     && ((pmp->pm_Heads == 1) || (pmp->pm_Heads == 2))))
-                   ) {
-                       pmp->pm_fatmask = FAT12_MASK;
-                       pmp->pm_fatmult = 3;
-                       pmp->pm_fatdiv = 2;
-               } else {
-                       pmp->pm_fatmask = FAT16_MASK;
-                       pmp->pm_fatmult = 2;
-                       pmp->pm_fatdiv = 1;
-               }
-       } else 
-#endif
        if (pmp->pm_fatmask == 0) {
                if (pmp->pm_maxcluster
                    <= ((CLUST_RSRVD - CLUST_FIRST) & FAT12_MASK)) {
index 90ac06f..a751ca6 100644 (file)
@@ -261,9 +261,6 @@ struct msdosfs_args {
 #define        MSDOSFSMNT_SHORTNAME    1       /* Force old DOS short names only */
 #define        MSDOSFSMNT_LONGNAME     2       /* Force Win'95 long names */
 #define        MSDOSFSMNT_NOWIN95      4       /* Completely ignore Win95 entries */
-#ifndef __DragonFly__
-#define        MSDOSFSMNT_GEMDOSFS     8       /* This is a gemdos-flavour */
-#endif
 #define MSDOSFSMNT_U2WTABLE     0x10    /* Local->Unicode and local<->DOS   */
                                        /* tables loaded                    */
 #define MSDOSFSMNT_ULTABLE      0x20    /* Local upper<->lower table loaded */