Andreas,

On Mon, Jan 29, 2007 at 09:45:14AM +0000, Andreas Kahari wrote:
> I had the same problem ("FSD does not lie within the partition!" when
> trying to mount a UDF DVD disc).  I applied the patch below from Pedro
> to a current i386 system, but that resulted in a locked system
> (everything waiting in 'inode') when trying to mount the disc again.

Sorry about that, the diff had a little mistake. Could you please try
this one?

Thanks,

-p.

Index: udf_vfsops.c
===================================================================
RCS file: /cvs/src/sys/isofs/udf/udf_vfsops.c,v
retrieving revision 1.23
diff -u -p -r1.23 udf_vfsops.c
--- udf_vfsops.c        7 Aug 2006 15:50:42 -0000       1.23
+++ udf_vfsops.c        29 Jan 2007 10:13:02 -0000
@@ -305,10 +305,19 @@ udf_mountfs(struct vnode *devvp, struct 
                }
                pd = (struct part_desc *)bp->b_data;
                if (!udf_checktag(&pd->tag, TAGID_PARTITION)) {
-                       part_found = 1;
                        part_num = letoh16(pd->part_num);
+                       /*
+                        * Until we fully support multiple partitions, do the
+                        * best we can by trying to find a partition that
+                        * matches the file set descriptor we got above.
+                        */
+                       if (fsd_part && fsd_part != part_num) {
+                               brelse(bp);
+                               continue;
+                       }
                        ump->um_len = letoh32(pd->part_len);
                        ump->um_start = letoh32(pd->start_loc);
+                       part_found = 1;
                }
 
                brelse(bp); 

Reply via email to