Lines Matching defs:isomp
208 struct iso_mnt *isomp = NULL;
353 isomp = malloc(sizeof *isomp, M_ISOFSMNT, M_WAITOK | M_ZERO);
354 isomp->im_cp = cp;
355 isomp->im_bo = bo;
356 isomp->logical_block_size = logical_block_size;
357 isomp->volume_space_size =
361 isomp->joliet_level = 0;
370 isomp->volume_space_size += ssector;
371 memcpy(isomp->root, rootp, sizeof isomp->root);
372 isomp->root_extent = isonum_733 (rootp->extent);
373 isomp->root_size = isonum_733 (rootp->size);
375 isomp->im_bmask = logical_block_size - 1;
376 isomp->im_bshift = ffs(logical_block_size) - 1;
385 mp->mnt_data = isomp;
394 isomp->im_mountp = mp;
395 isomp->im_dev = dev;
396 isomp->im_devvp = devvp;
397 isomp->im_fmask = isomp->im_dmask = ALLPERMS;
399 vfs_flagopt(mp->mnt_optnew, "norrip", &isomp->im_flags, ISOFSMNT_NORRIP);
400 vfs_flagopt(mp->mnt_optnew, "gens", &isomp->im_flags, ISOFSMNT_GENS);
401 vfs_flagopt(mp->mnt_optnew, "extatt", &isomp->im_flags, ISOFSMNT_EXTATT);
402 vfs_flagopt(mp->mnt_optnew, "nojoliet", &isomp->im_flags, ISOFSMNT_NOJOLIET);
403 vfs_flagopt(mp->mnt_optnew, "kiconv", &isomp->im_flags, ISOFSMNT_KICONV);
406 isomp->im_flags |= ISOFSMNT_UID;
407 isomp->im_uid = v;
410 isomp->im_flags |= ISOFSMNT_GID;
411 isomp->im_gid = v;
414 isomp->im_fmask &= v;
417 isomp->im_dmask &= v;
421 if (!(isomp->im_flags & ISOFSMNT_NORRIP)) {
422 if ((error = bread(isomp->im_devvp, (isomp->root_extent +
423 isonum_711(((struct iso_directory_record *)isomp->root)->
424 ext_attr_length)) << (isomp->im_bshift - DEV_BSHIFT),
425 isomp->logical_block_size, NOCRED, &bp)) != 0)
430 if ((isomp->rr_skip = cd9660_rrip_offset(rootp,isomp)) < 0) {
431 isomp->im_flags |= ISOFSMNT_NORRIP;
433 isomp->im_flags &= ~ISOFSMNT_GENS;
446 if (isomp->im_flags & ISOFSMNT_KICONV && cd9660_iconv) {
453 cd9660_iconv->open(cs_local, cs_disk, &isomp->im_d2l);
454 cd9660_iconv->open(cs_disk, cs_local, &isomp->im_l2d);
456 isomp->im_d2l = NULL;
457 isomp->im_l2d = NULL;
464 isomp->iso_ftype = ISO_FTYPE_HIGH_SIERRA;
466 switch (isomp->im_flags&(ISOFSMNT_NORRIP|ISOFSMNT_GENS)) {
468 isomp->iso_ftype = ISO_FTYPE_DEFAULT;
471 isomp->iso_ftype = ISO_FTYPE_9660;
476 isomp->iso_ftype = ISO_FTYPE_RRIP;
482 if (isomp->iso_ftype != ISO_FTYPE_RRIP && joliet_level) {
488 memcpy(isomp->root, rootp, sizeof isomp->root);
489 isomp->root_extent = isonum_733 (rootp->extent);
490 isomp->root_size = isonum_733 (rootp->size);
491 isomp->joliet_level = joliet_level;
514 if (isomp) {
515 free(isomp, M_ISOFSMNT);
528 struct iso_mnt *isomp;
536 isomp = VFSTOISOFS(mp);
538 if (isomp->im_flags & ISOFSMNT_KICONV && cd9660_iconv) {
539 if (isomp->im_d2l)
540 cd9660_iconv->close(isomp->im_d2l);
541 if (isomp->im_l2d)
542 cd9660_iconv->close(isomp->im_l2d);
545 g_vfs_close(isomp->im_cp);
547 vrele(isomp->im_devvp);
548 dev_rel(isomp->im_dev);
549 free(isomp, M_ISOFSMNT);
579 struct iso_mnt *isomp;
581 isomp = VFSTOISOFS(mp);
583 sbp->f_bsize = isomp->logical_block_size;
585 sbp->f_blocks = isomp->volume_space_size;