Lines Matching refs:isomp

208 	struct iso_mnt *isomp = NULL;
344 isomp = malloc(sizeof *isomp, M_ISOFSMNT, M_WAITOK | M_ZERO);
345 isomp->im_cp = cp;
346 isomp->im_bo = bo;
347 isomp->logical_block_size = logical_block_size;
348 isomp->volume_space_size =
352 isomp->joliet_level = 0;
361 isomp->volume_space_size += ssector;
362 bcopy (rootp, isomp->root, sizeof isomp->root);
363 isomp->root_extent = isonum_733 (rootp->extent);
364 isomp->root_size = isonum_733 (rootp->size);
366 isomp->im_bmask = logical_block_size - 1;
367 isomp->im_bshift = ffs(logical_block_size) - 1;
376 mp->mnt_data = isomp;
384 isomp->im_mountp = mp;
385 isomp->im_dev = dev;
386 isomp->im_devvp = devvp;
388 vfs_flagopt(mp->mnt_optnew, "norrip", &isomp->im_flags, ISOFSMNT_NORRIP);
389 vfs_flagopt(mp->mnt_optnew, "gens", &isomp->im_flags, ISOFSMNT_GENS);
390 vfs_flagopt(mp->mnt_optnew, "extatt", &isomp->im_flags, ISOFSMNT_EXTATT);
391 vfs_flagopt(mp->mnt_optnew, "nojoliet", &isomp->im_flags, ISOFSMNT_NOJOLIET);
392 vfs_flagopt(mp->mnt_optnew, "kiconv", &isomp->im_flags, ISOFSMNT_KICONV);
395 if (!(isomp->im_flags & ISOFSMNT_NORRIP)) {
396 if ((error = bread(isomp->im_devvp, (isomp->root_extent +
397 isonum_711(((struct iso_directory_record *)isomp->root)->
398 ext_attr_length)) << (isomp->im_bshift - DEV_BSHIFT),
399 isomp->logical_block_size, NOCRED, &bp)) != 0)
404 if ((isomp->rr_skip = cd9660_rrip_offset(rootp,isomp)) < 0) {
405 isomp->im_flags |= ISOFSMNT_NORRIP;
407 isomp->im_flags &= ~ISOFSMNT_GENS;
420 if (isomp->im_flags & ISOFSMNT_KICONV && cd9660_iconv) {
427 cd9660_iconv->open(cs_local, cs_disk, &isomp->im_d2l);
428 cd9660_iconv->open(cs_disk, cs_local, &isomp->im_l2d);
430 isomp->im_d2l = NULL;
431 isomp->im_l2d = NULL;
438 isomp->iso_ftype = ISO_FTYPE_HIGH_SIERRA;
440 switch (isomp->im_flags&(ISOFSMNT_NORRIP|ISOFSMNT_GENS)) {
442 isomp->iso_ftype = ISO_FTYPE_DEFAULT;
445 isomp->iso_ftype = ISO_FTYPE_9660;
450 isomp->iso_ftype = ISO_FTYPE_RRIP;
456 if (isomp->iso_ftype != ISO_FTYPE_RRIP && joliet_level) {
462 bcopy (rootp, isomp->root, sizeof isomp->root);
463 isomp->root_extent = isonum_733 (rootp->extent);
464 isomp->root_size = isonum_733 (rootp->size);
465 isomp->joliet_level = joliet_level;
490 if (isomp) {
491 free(isomp, M_ISOFSMNT);
506 struct iso_mnt *isomp;
514 isomp = VFSTOISOFS(mp);
516 if (isomp->im_flags & ISOFSMNT_KICONV && cd9660_iconv) {
517 if (isomp->im_d2l)
518 cd9660_iconv->close(isomp->im_d2l);
519 if (isomp->im_l2d)
520 cd9660_iconv->close(isomp->im_l2d);
524 g_vfs_close(isomp->im_cp);
527 vrele(isomp->im_devvp);
528 dev_rel(isomp->im_dev);
529 free(isomp, M_ISOFSMNT);
567 struct iso_mnt *isomp;
569 isomp = VFSTOISOFS(mp);
571 sbp->f_bsize = isomp->logical_block_size;
573 sbp->f_blocks = isomp->volume_space_size;