
From: Jon Burgess <mplayer@jburgess.uklinux.net>

The iso9660 filesystem code checks that the "sbsector" option is 
positioned within the first 660Mb of the disk.

Today the iso9660 filesystem is used on DVD's which are much bigger than 
660Mb and this check prevents the sbsector option being used to specify 
the location of the superblock of multisession DVD's.

With this check removed I can mount the second session on a DVD-R by 
specifying the sbsector, even though the  firmware on that drive returns 
bogus data for the TOC.

If an invalid large sector number is entered then a "request beyond end 
of device" error is reported elsewhere in the block code, but appears to 
do no damage.



 fs/isofs/inode.c |    5 +----
 1 files changed, 1 insertion(+), 4 deletions(-)

diff -puN fs/isofs/inode.c~remove-iso9660-size-check fs/isofs/inode.c
--- 25/fs/isofs/inode.c~remove-iso9660-size-check	2003-12-24 01:10:08.000000000 -0800
+++ 25-akpm/fs/isofs/inode.c	2003-12-24 01:10:08.000000000 -0800
@@ -447,10 +447,7 @@ static int parse_options(char *options, 
 		case Opt_sb:
 			if (match_int(&args[0], &option))
 				return 0;
-			n = option;
-			if (n > 660 * 512)
-				return 0;
-			popt->sbsector = n;
+			popt->sbsector = option;
 			break;
 		case Opt_check_r:
 			popt->check = 'r';

_
