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

Reply via email to