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);