Can you please try this diff? -p.
Index: udf_vfsops.c =================================================================== RCS file: /cvs/src/sys/isofs/udf/udf_vfsops.c,v retrieving revision 1.7 diff -u -p -r1.7 udf_vfsops.c --- udf_vfsops.c 14 Jun 2006 16:40:15 -0000 1.7 +++ udf_vfsops.c 18 Jun 2006 13:54:15 -0000 @@ -331,10 +331,17 @@ 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) + continue; udfmp->part_len = letoh32(pd->part_len); udfmp->part_start = letoh32(pd->start_loc); + part_found = 1; } brelse(bp);