Lines Matching refs:ump
234 struct udf_mount *ump;
240 ump = VFSTOUDF(mp);
241 if (ump) {
244 MPFREE(ump->anchors[i], M_UDFVOLD);
245 MPFREE(ump->primary_vol, M_UDFVOLD);
246 MPFREE(ump->logical_vol, M_UDFVOLD);
247 MPFREE(ump->unallocated, M_UDFVOLD);
248 MPFREE(ump->implementation, M_UDFVOLD);
249 MPFREE(ump->logvol_integrity, M_UDFVOLD);
251 MPFREE(ump->partitions[i], M_UDFVOLD);
252 MPFREE(ump->part_unalloc_dscr[i], M_UDFVOLD);
253 MPFREE(ump->part_freed_dscr[i], M_UDFVOLD);
255 MPFREE(ump->metadata_unalloc_dscr, M_UDFVOLD);
257 MPFREE(ump->fileset_desc, M_UDFVOLD);
258 MPFREE(ump->sparing_table, M_UDFVOLD);
260 MPFREE(ump->la_node_ad_cpy, M_UDFMNT);
261 MPFREE(ump->la_pmapping, M_TEMP);
262 MPFREE(ump->la_lmapping, M_TEMP);
264 mutex_destroy(&ump->logvol_mutex);
265 mutex_destroy(&ump->allocate_mutex);
266 mutex_destroy(&ump->sync_lock);
268 MPFREE(ump->vat_table, M_UDFVOLD);
270 free(ump, M_UDFMNT);
281 struct udf_mount *ump = VFSTOUDF(mp);
283 /* if we haven't even got an ump, dont bother */
284 if (!ump)
288 if (ump->vat_node)
289 vrele(ump->vat_node->vnode);
292 if (ump->metadata_node)
293 vrele(ump->metadata_node->vnode);
294 if (ump->metadatamirror_node)
295 vrele(ump->metadatamirror_node->vnode);
296 if (ump->metadatabitmap_node)
297 vrele(ump->metadatabitmap_node->vnode);
307 struct udf_mount *ump;
320 ump = VFSTOUDF(mp);
321 if (ump == NULL)
323 *args = ump->mount_args;
469 struct udf_mount *ump;
474 ump = VFSTOUDF(mp);
475 if (!ump)
476 panic("UDF unmount: empty ump\n");
502 if ((error = vflush(ump->vfs_mountp, NULLVP, flags | SKIPSYSTEM)) != 0)
508 if ((error = udf_close_logvol(ump, mntflags)) != 0)
521 if ((error = vflush(ump->vfs_mountp, NULLVP, 0)) != 0)
525 udf_discstrat_finish(ump);
528 (void) udf_synchronise_caches(ump);
539 vn_lock(ump->devvp, LK_EXCLUSIVE | LK_RETRY);
540 error = VOP_CLOSE(ump->devvp, closeflags, NOCRED);
547 spec_node_setmountedfs(ump->devvp, NULL);
548 vput(ump->devvp);
550 /* free our ump */
553 /* free ump struct references */
571 struct udf_mount *ump;
593 ump = malloc(sizeof(struct udf_mount), M_UDFMNT, M_WAITOK | M_ZERO);
596 mutex_init(&ump->logvol_mutex, MUTEX_DEFAULT, IPL_NONE);
597 mutex_init(&ump->allocate_mutex, MUTEX_DEFAULT, IPL_NONE);
598 mutex_init(&ump->sync_lock, MUTEX_DEFAULT, IPL_NONE);
601 udf_init_nodes_tree(ump);
604 mp->mnt_data = ump;
605 ump->vfs_mountp = mp;
608 ump->mount_args = *args;
609 ump->devvp = devvp;
610 if ((error = udf_update_discinfo(ump))) {
616 sector_size = ump->discinfo.sector_size;
638 if ((ump->discinfo.mmc_cur & MMC_CAP_RECORDABLE) == 0) {
642 if (ump->discinfo.mmc_cur & MMC_CAP_SEQUENTIAL) {
643 if (ump->discinfo.disc_state == MMC_STATE_FULL) {
662 ump->strategy = &udf_strat_bootstrap;
663 udf_discstrat_init(ump);
666 num_anchors = udf_read_anchors(ump);
674 if ((error = udf_read_vds_space(ump))) {
680 udf_discstrat_finish(ump);
683 if ((error = udf_process_vds(ump))) {
690 KASSERT(ump->strategy != &udf_strat_bootstrap);
691 udf_discstrat_init(ump);
694 ump->la_lmapping = malloc(sizeof(uint64_t) * UDF_MAX_MAPPINGS,
696 ump->la_pmapping = malloc(sizeof(uint64_t) * UDF_MAX_MAPPINGS,
700 lb_size = udf_rw32(ump->logical_vol->lb_size);
701 ump->la_node_ad_cpy = malloc(lb_size * UDF_MAX_ALLOC_EXTENTS,
703 memset(ump->la_node_ad_cpy, 0, lb_size * UDF_MAX_ALLOC_EXTENTS);
706 mp->mnt_data = ump;
714 if ((error = udf_read_vds_tables(ump))) {
721 logvol_integrity = udf_rw32(ump->logvol_integrity->integrity_type);
729 if ((error = udf_read_rootdirs(ump))) {
756 struct udf_mount *ump = VFSTOUDF(mp);
762 dir_loc = &ump->fileset_desc->rootdir_icb;
763 error = udf_get_node(ump, dir_loc, &root_dir, lktype);
781 struct udf_mount *ump = VFSTOUDF(mp);
789 sbp->f_bsize = ump->discinfo.sector_size;
790 sbp->f_frsize = ump->discinfo.sector_size;
791 sbp->f_iosize = ump->discinfo.sector_size;
793 mutex_enter(&ump->allocate_mutex);
795 udf_calc_freespace(ump, &sizeblks, &freeblks);
801 lvid = ump->logvol_integrity;
818 mutex_exit(&ump->allocate_mutex);
832 udf_sync_writeout_system_files(struct udf_mount *ump, int clearflags)
839 if (ump->lvclose & UDF_WRITE_VAT)
840 udf_writeout_vat(ump);
843 if (ump->lvclose & UDF_WRITE_PART_BITMAPS) {
845 error = udf_write_metadata_partition_spacetable(ump, MNT_WAIT);
851 error = udf_write_physical_partition_spacetables(ump, MNT_WAIT);
856 ump->lvclose &= ~UDF_WRITE_PART_BITMAPS;
866 struct udf_mount *ump = VFSTOUDF(mp);
873 if (ump->syncing && !waitfor) {
879 ump->syncing = 1;
882 udf_do_sync(ump, cred, waitfor);
885 udf_sync_writeout_system_files(ump, true);
888 ump->syncing = 0;