diff options
author | bp <bp@FreeBSD.org> | 2001-03-11 10:05:08 +0000 |
---|---|---|
committer | bp <bp@FreeBSD.org> | 2001-03-11 10:05:08 +0000 |
commit | c259a60fbb24af2792958372205c7b1652d0d044 (patch) | |
tree | bf24cdddc58b977ea343f8c04c85e77ac5bac614 /sys | |
parent | 13607586552a34e4142ab379b7b1631c43377ed2 (diff) | |
download | FreeBSD-src-c259a60fbb24af2792958372205c7b1652d0d044.zip FreeBSD-src-c259a60fbb24af2792958372205c7b1652d0d044.tar.gz |
Add a mount time option which slightly relaxes checks for valid Joilet
extensions.
PR: kern/23315
Reviewed by: adrian
Diffstat (limited to 'sys')
-rw-r--r-- | sys/fs/cd9660/cd9660_mount.h | 1 | ||||
-rw-r--r-- | sys/fs/cd9660/cd9660_vfsops.c | 3 | ||||
-rw-r--r-- | sys/isofs/cd9660/cd9660_mount.h | 1 | ||||
-rw-r--r-- | sys/isofs/cd9660/cd9660_vfsops.c | 3 |
4 files changed, 6 insertions, 2 deletions
diff --git a/sys/fs/cd9660/cd9660_mount.h b/sys/fs/cd9660/cd9660_mount.h index 5263912..8cc6a86 100644 --- a/sys/fs/cd9660/cd9660_mount.h +++ b/sys/fs/cd9660/cd9660_mount.h @@ -52,3 +52,4 @@ struct iso_args { #define ISOFSMNT_GENS 0x00000002 /* enable generation numbers */ #define ISOFSMNT_EXTATT 0x00000004 /* enable extended attributes */ #define ISOFSMNT_NOJOLIET 0x00000008 /* disable Joliet Ext.*/ +#define ISOFSMNT_BROKENJOLIET 0x00000010/* allow broken Joliet disks */ diff --git a/sys/fs/cd9660/cd9660_vfsops.c b/sys/fs/cd9660/cd9660_vfsops.c index 606f9d3..e73fb7e 100644 --- a/sys/fs/cd9660/cd9660_vfsops.c +++ b/sys/fs/cd9660/cd9660_vfsops.c @@ -355,7 +355,8 @@ iso_mountfs(devvp, mp, p, argp) if (bcmp(sup->escape, "%/E", 3) == 0) joliet_level = 3; - if (isonum_711 (sup->flags) & 1) + if ((isonum_711 (sup->flags) & 1) && + (argp->flags & ISOFSMNT_BROKENJOLIET) == 0) joliet_level = 0; } } diff --git a/sys/isofs/cd9660/cd9660_mount.h b/sys/isofs/cd9660/cd9660_mount.h index 5263912..8cc6a86 100644 --- a/sys/isofs/cd9660/cd9660_mount.h +++ b/sys/isofs/cd9660/cd9660_mount.h @@ -52,3 +52,4 @@ struct iso_args { #define ISOFSMNT_GENS 0x00000002 /* enable generation numbers */ #define ISOFSMNT_EXTATT 0x00000004 /* enable extended attributes */ #define ISOFSMNT_NOJOLIET 0x00000008 /* disable Joliet Ext.*/ +#define ISOFSMNT_BROKENJOLIET 0x00000010/* allow broken Joliet disks */ diff --git a/sys/isofs/cd9660/cd9660_vfsops.c b/sys/isofs/cd9660/cd9660_vfsops.c index 606f9d3..e73fb7e 100644 --- a/sys/isofs/cd9660/cd9660_vfsops.c +++ b/sys/isofs/cd9660/cd9660_vfsops.c @@ -355,7 +355,8 @@ iso_mountfs(devvp, mp, p, argp) if (bcmp(sup->escape, "%/E", 3) == 0) joliet_level = 3; - if (isonum_711 (sup->flags) & 1) + if ((isonum_711 (sup->flags) & 1) && + (argp->flags & ISOFSMNT_BROKENJOLIET) == 0) joliet_level = 0; } } |