Lines Matching defs:geom

187  * @param geom The region to be searched.
193 const PedFileSystemType* fs_type, PedGeometry* geom)
199 PED_ASSERT (geom != NULL, return NULL);
203 if (geom->dev->sector_size != PED_SECTOR_SIZE_DEFAULT)
206 if (!ped_device_open (geom->dev))
208 result = fs_type->ops->probe (geom);
209 ped_device_close (geom->dev);
214 _test_open (PedFileSystemType* fs_type, PedGeometry* geom)
219 fs = fs_type->ops->open (geom);
229 _probe_with_open (PedGeometry* geom, int detected_count,
235 ped_device_open (geom->dev);
242 if (!detected[i]->ops->open || !_test_open (detected [i], geom))
246 ped_device_close (geom->dev);
262 ped_device_close (geom->dev);
269 ped_device_close (geom->dev);
283 _best_match (const PedGeometry* geom, PedFileSystemType* detected [],
290 min_error = PED_MAX (4096, geom->length / 100);
314 * Attempt to detect a file system in region \p geom.
322 ped_file_system_probe (PedGeometry* geom)
329 PED_ASSERT (geom != NULL, return NULL);
331 if (!ped_device_open (geom->dev))
338 probed = ped_file_system_probe_specific (walk, geom);
342 = _geometry_error (geom, probed);
351 ped_device_close (geom->dev);
355 walk = _best_match (geom, detected, detected_error, detected_count);
358 return _probe_with_open (geom, detected_count, detected);
363 * file system occupies a given region described by \p geom.
371 ped_file_system_clobber (PedGeometry* geom)
375 PED_ASSERT (geom != NULL, return 0);
377 if (!ped_device_open (geom->dev))
387 probed = ped_file_system_probe_specific (fs_type, geom);
394 if (fs_type->ops->clobber && !fs_type->ops->clobber (geom)) {
399 ped_device_close (geom->dev);
404 ped_device_close (geom->dev);
414 ped_file_system_clobber_exclude (PedGeometry* geom,
420 if (ped_geometry_test_sector_inside (exclude, geom->start))
423 clobber_geom = ped_geometry_duplicate (geom);
433 * This function opens the file system stored on \p geom, if it
437 * fs = ped_file_system_open (&part.geom)
443 * \p geom is not implemented
448 ped_file_system_open (PedGeometry* geom)
454 PED_ASSERT (geom != NULL, return NULL);
456 if (!ped_device_open (geom->dev))
459 type = ped_file_system_probe (geom);
466 probed_geom = ped_file_system_probe_specific (type, geom);
469 if (!ped_geometry_test_inside (geom, probed_geom)) {
496 ped_device_close (geom->dev);
503 * a region described by \p geom, writing out appropriate metadata and
512 ped_file_system_create (PedGeometry* geom, const PedFileSystemType* type,
517 PED_ASSERT (geom != NULL, return NULL);
529 if (!ped_device_open (geom->dev))
532 if (!ped_file_system_clobber (geom))
534 fs = type->ops->create (geom, timer);
540 ped_device_close (geom->dev);
553 PedDevice* dev = fs->geom->dev;
642 _raw_copy_and_resize (const PedFileSystem* fs, PedGeometry* geom,
652 if (!_raw_copy (fs->geom, geom, sub_timer))
656 new_fs = ped_file_system_open (geom);
663 if (!ped_file_system_resize (new_fs, geom, sub_timer))
676 * Create a new file system (of the same type) on \p geom, and
687 ped_file_system_copy (PedFileSystem* fs, PedGeometry* geom, PedTimer* timer)
692 PED_ASSERT (geom != NULL, return 0);
694 if (!ped_device_open (geom->dev))
697 if (ped_geometry_test_overlap (fs->geom, geom)) {
709 if (!ped_file_system_clobber_exclude (geom, fs->geom))
714 if (fs->geom->length <= geom->length)
716 fs, (PedGeometry*) geom,
742 new_fs = fs->type->ops->copy (fs, geom, timer);
748 ped_device_close (geom->dev);
754 * Resize \p fs to new geometry \p geom.
756 * \p geom should satisfy the ped_file_system_get_resize_constraint().
766 ped_file_system_resize (PedFileSystem* fs, PedGeometry* geom, PedTimer* timer)
769 PED_ASSERT (geom != NULL, return 0);
783 if (!ped_file_system_clobber_exclude (geom, fs->geom))
786 return fs->type->ops->resize (fs, geom, timer);
855 fs->geom->length, dev->length);