Commit Graph

101 Commits

Author SHA1 Message Date
Curtis Gedak 8a58b5b53e Enable compile and link with libparted 3.0 (#651559)
The release of (lib)parted 3.0 includes a change to the Application
Programing Interface - API.  Most importantly, libparted 3.0 removes
many file system specific function calls, and hence the capabilities
provided by these functions.  In order for GParted to compile and link
with libparted 3.0, this libparted functionality is lost.

Specifically, the functionality that is lost when GParted is compiled
and linked with libparted 3.0 is as follows:

  - Loss of ability to grow and shrink FAT16 and FAT32 file systems
  - Loss of ability to shrink HFS and HFS+ file systems
  - Loss of ability to determine used and unused sectors in HFS and
      HFS+ file systems
  - Loss of ability to erase file system signatures on partition
      create and format

It is hoped that other free software projects will include some or all
of the above lost functionality, which can then be added back to
GParted.

This commit includes a change in how FAT16 and FAT32 file systems are
moved.  Specifically the move is now performed internally by GParted
when linked with libparted 3.0.  The move functionality is provided by
libparted for prior libparted versions (e.g. less than 3.0).

This is the final enhancement in a series of commits that enable
GParted to compile with libparted version 3.0.

Closes Bug #651559 - Doesn't compile against parted 3.0
2011-06-09 09:59:41 -06:00
Joan Lledó ef37bdb7de Added support to lost data recovery using gpart 2011-01-29 14:58:02 -07:00
Curtis Gedak 319255d3bc Refactor alternate_paths logic into new Proc_Partitions_Info class
This reason for refactoring is to simplify the large GParted_Core
class, to help minimize disk reads, and to group the logic for
processing the file /proc/partitions into a single logical class.
2010-12-07 11:49:50 -07:00
Curtis Gedak 9bd8b14871 Create new method get_partition_path
This method will be used as an entry point to the libparted
function ped_partition_get_path
2010-08-17 10:36:00 -06:00
Curtis Gedak e62a23b5b5 Add partition alignment option to align to MiB (#617409)
Make align to MiB the default setting instead of align to cylinder.

Migrate logic for alignment to cylinder into its own method
snap_to_cylinder, and place common logic in snap_to_alignment.

Add alignment checks for situations where space is needed for Master
Boot Record or Extended Boot Record.

Adjust ranges on spin buttons according to required boot record space.

Copy fix for off by one sector (#596552) from
Dialog_Partition_New::Get_New_Partition to
Dialog_Base_Partition::Get_New_Partition

Enhance resize / move logic for checking locations of nearby logical
partitions to not depend on the partition ordering.

Note: This commit does not include limiting graphic movement according
to required boot record space.
2010-05-20 10:00:14 -06:00
Curtis Gedak 896dab7192 Enhance copy_filesystem method to work with sector sizes
This change is in preparation for supporting sectors sizes > 512 bytes.
2010-04-26 11:43:59 -06:00
Curtis Gedak 74ecd2ed3f Set sector size and add to operation and dialog methods
This change is in preparation for supporting sectors sizes > 512 bytes.
2010-04-19 19:22:31 -06:00
Curtis Gedak 8fb40d843d Enhance copy methods for sector sizes > 512 bytes 2010-04-07 11:39:42 -06:00
Curtis Gedak 8cfb27b718 Cleanup file copyright entries
Restore copyright entries by original author to those of his last
known repository commit titled "released gparted-0.3.4 on
LarryT's request." on Feb 25, 2007.

Add my own copyright entries for files in which I changed source
code.  Files in which I only made spelling changes do not have my
copyright entry added.
2009-11-05 11:08:49 -07:00
Curtis Gedak 301bd77312 Refactor some logic into separate settle_device method 2009-05-02 10:59:49 -06:00
Curtis Gedak eda5bf16aa Improved swap and dmraid mountpoint detection
svn path=/trunk/; revision=1097
2009-03-16 22:55:24 +00:00
Curtis Gedak 55952fe621 Renamed set_label and get_label methods to write_label and read_label respectively.
svn path=/trunk/; revision=957
2008-11-08 23:55:17 +00:00
Curtis Gedak 2331bd0763 Added set and get thread status message methods.
Added thread status message updates in set_devices().

svn path=/trunk/; revision=943
2008-10-30 18:50:38 +00:00
Curtis Gedak 8d808c0b62 gparted-0.3.6 - code recreation from Source Forge
svn path=/trunk/; revision=810
2008-04-07 19:41:18 +00:00
Bart Hakvoort 7a413f6401 added libparted version string to details export.
* include/Dialog_Progress.h,
  include/GParted_Core.h,
  src/Dialog_Progress.cc,
  src/GParted_Core.cc,
  src/Win_GParted.cc: added libparted version string to details
  export.
2006-12-01 13:01:46 +00:00
Bart Hakvoort 5e2b8f9837 finally fixed problem with 'disappearing' devicenodes by using udevsettle
* include/GParted_Core.h,
  src/GParted_Core.cc: finally fixed problem with 'disappearing'
  devicenodes by using udevsettle (#352744)
2006-09-13 19:35:17 +00:00
Bart Hakvoort e3b4a7316b added support for reading volumelabels. Atm we only read ext2/3, but the
* added support for reading volumelabels. Atm we only read ext2/3, but
  the infrastructure for adding the other filesystems is in place.
  It's simply a matter of finding the right commands and parsing the
  output. (see #338528 for more info)
2006-09-12 20:34:33 +00:00
Bart Hakvoort 79672a5298 make sure progressfraction stays between 0.0 and 1.0 implemented rollback
* src/Dialog_Progress.cc: make sure progressfraction stays between 0.0
  and 1.0
* include/GParted_Core.h,
  src/GParted_Core.cc: implemented rollback in case of failed move of
  overlapping filesystems. Together with the readonly test moving
  should be quite save now :)
2006-09-10 12:17:33 +00:00
Bart Hakvoort 59fe25882a declared char * buf global, so it can be initialized in copy_blocks().
* include/GParted_Core.h,
  src/GParted_Core.cc: declared char * buf global, so it can be
  initialized in copy_blocks(). This is a lot more efficient than
  initializing it on every copy_block()
2006-09-08 09:33:02 +00:00
Bart Hakvoort f7ec213481 added test_overlap() perform a readonly testrun before the actual move if
* include/Partition.h,
  src/Partition.cc: added test_overlap()
* include/GParted_Core.h,
  src/GParted_Core.cc: perform a readonly testrun before the actual
  move if destination overlaps source.
2006-09-07 20:31:05 +00:00
Bart Hakvoort bd4d110fdb parse /proc/partitions to find devices instead of using
* include/GParted_Core.h,
  src/GParted_Core.cc: parse /proc/partitions to find devices instead
  of using ped_device_probe_all()
2006-09-07 18:40:15 +00:00
Bart Hakvoort 7eb2a9cbb1 update ntfsbootsector after first sector has changed. This is necessary to
* include/GParted_Core.h,
  src/GParted_Core.cc: update ntfsbootsector after first sector has
  changed. This is necessary to let windows boot correctly afterwards.
* src/ntfs.cc: added FIXME
2006-09-04 19:18:44 +00:00
Bart Hakvoort 9cbfca1c6e check if dest >= src before starting a copy
* include/GParted_Core.h,
  src/GParted_Core.cc: check if dest >= src before starting a copy
2006-09-03 18:24:09 +00:00
Bart Hakvoort 95f563d13c more fixes related to moving..
* include/GParted_Core.h,
  src/GParted_Core.cc: more fixes related to moving..
2006-09-03 14:24:05 +00:00
Bart Hakvoort 34389f38e7 tried to fix a couple of errors with moving to the right with overlap
* include/GParted_Core.h,
  src/GParted_Core.cc: tried to fix a couple of errors with moving to
  the right with overlap (thanks Larry for hunting ;) )
  Although everything seems to work well i'm still not sure if
  everything is 100% ok.
  I guess everything could use some more testing, which is exactly
  what i plan to do this weekend :)
2006-08-31 20:19:38 +00:00
Bart Hakvoort d23ca9d8ea ^) restructured resize_move() to be more robust. This will hopefully
* happy 24th birthday Johannes! :^)
* include/GParted_Core.h,
  src/GParted_Core.cc: restructured resize_move() to be more robust.
  This will hopefully tackle a couple of issues which came up during
  the public testing.
2006-08-27 08:41:25 +00:00
Bart Hakvoort 5060b1a07c improvements to probe and copy stuff.
* include/GParted_Core.h,
  src/GParted_Core.cc: improvements to probe and copy stuff.
2006-08-26 14:37:06 +00:00
Bart Hakvoort 649f26be9f fixed some issues with combi move+shrink on fat* and hfs* filesystems.
* include/GParted_Core.h,
  src/GParted_Core.cc: fixed some issues with combi move+shrink on
  fat* and hfs* filesystems.
  Also call wait_for_node() from commit() if 'node' was provided.
2006-08-20 11:47:17 +00:00
Bart Hakvoort 889ab1232f changed progressfeedbackhandling a bit. Because this affected
* changed progressfeedbackhandling a bit. Because this affected
  OperationDetail i had to make changes in almost every file.
2006-08-20 09:33:54 +00:00
Bart Hakvoort 8393f5ef6a created set_progress_info() (i actually planned on adding some time
* include/GParted_Core.h,
  src/GParted_Core.cc: created set_progress_info() (i actually planned
  on adding some time remaining stuff, but xfiles is waiting ;) )
2006-08-15 18:33:56 +00:00
Bart Hakvoort 9576eb981e couple of cleanups in operationhandling and initalizing of p_filesystem.
* include/GParted_Core.h,
  src/GParted_Core.cc: couple of cleanups in operationhandling and
  initalizing of p_filesystem.
2006-08-13 13:31:57 +00:00
Bart Hakvoort ac53a7875f did some work on disabling of automounting of removable drives. The
* include/GParted_Core.h,
  src/GParted_Core.cc: did some work on disabling of automounting of
  removable drives. The current method is not entirely to my liking
  but it seems to work.
2006-08-09 19:20:20 +00:00
Bart Hakvoort b539a10ddc implemented some stuff to find a good blocksize to use for copy/move.
* implemented some stuff to find a good blocksize to use for
  copy/move. Actually i'm not really happy with it, because probing
  seems suboptimal, but it's better than nothing. As soon as i have
  some time i should do some research on the subject to find a better
  solution.
2006-08-08 19:04:29 +00:00
Bart Hakvoort d52b0286c9 fixed Pango markup problems in operationdetails restructured
* fixed Pango markup problems in operationdetails
* restructured OperationDetail
* renamed some enums for improved readability of the source
2006-07-29 08:27:28 +00:00
Bart Hakvoort d663c3c277 removed cylindersize buffering during resize from the filesystems. It is
* include/FileSystem.h,
  include/GParted_Core.h,
  src/FileSystem.cc,
  src/GParted_Core.cc,
  src/ext2.cc,
  src/ext3.cc,
  src/ntfs.cc,
  src/reiserfs.cc: removed cylindersize buffering during resize from
  the filesystems. It is not needed anymore now we calculate the new
  position before calling this.
  Also added some extra progressfeedback in the core
2006-07-23 18:43:15 +00:00
Bart Hakvoort 8059d5f6d9 more work on moving/resizing sequence
* include/GParted_Core.h,
  src/GParted_Core.cc: more work on moving/resizing sequence
2006-07-23 16:51:38 +00:00
Bart Hakvoort f0d4890a92 added FIXME: decoupled libparted partition and filesystemresizing. This
* src/Win_GParted.cc: added FIXME:
* include/GParted_Core.h,
  src/GParted_Core.cc,
  src/fat32.cc: decoupled libparted partition and filesystemresizing.
  This resulted in a much more consistent core. This also affected
  several other aspects of resizing/moving in a positive way.
2006-07-23 09:58:45 +00:00
Bart Hakvoort dc883ee652 perform some checks before adding a new operation to the list. made
* include/GParted_Core.h,
  src/GParted_Core.cc,
  src/Win_GParted.cc: perform some checks before adding a new
  operation to the list.
* src/Partition.cc: made get_length() a bit safer
2006-07-20 19:14:44 +00:00
Bart Hakvoort cf59b71bf4 worked a bit on progressfeedback.. added FIXME
* include/GParted_Core.h,
  src/GParted_Core.cc: worked a bit on progressfeedback..
* include/Partition.h: added FIXME
2006-07-18 21:10:10 +00:00
Bart Hakvoort 8c5326e8b6 implemented snap to cylinder algorithm. Although the algorithm is very
* src/Win_GParted.cc,
  include/GParted_Core.h,
  src/GParted_Core.cc: implemented snap to cylinder algorithm.
  Although the algorithm is very simple, it seems to work perfectly.
  However, some additional testing is required.
2006-07-17 20:54:41 +00:00
Bart Hakvoort 357e2d84bc lots of fixes and improvements (mostly move-related)
* lots of fixes and improvements (mostly move-related)
2006-07-11 18:13:27 +00:00
Bart Hakvoort b223e829ab renamed resize_partition to resize_move_partition to better reflect its
* include/GParted_Core.h,
  src/GParted_Core.cc: renamed resize_partition to
  resize_move_partition to better reflect its functionality.
2006-06-18 19:38:29 +00:00
Bart Hakvoort 8fecbac1d0 did more work on moving
* include/GParted_Core.h,
  src/GParted_Core.cc: did more work on moving
2006-06-18 19:27:52 +00:00
Bart Hakvoort afa792bf0c some more cleanups, should be finished now :)
* include/GParted_Core.h,
  src/GParted_Core.cc,
  src/Win_GParted.cc: some more cleanups, should be finished now :)
2006-06-18 08:50:17 +00:00
Bart Hakvoort 32dc8481c8 restructured the core a bit, over time it had become very messy.
* restructured the core a bit, over time it had become very messy.
2006-06-17 20:52:25 +00:00
Bart Hakvoort 2d7fb5700b more cleanups in the core and the fs'es (these changelogs are getting
* more cleanups in the core and the fs'es (these changelogs are
  getting boring ;^) )
2006-06-17 16:38:15 +00:00
Bart Hakvoort 08245cd08c cleanups in the core and the fs'es (resize)
* cleanups in the core and the fs'es (resize)
2006-06-17 14:44:17 +00:00
Bart Hakvoort 20d5650188 cleanups in the core and the fs'es (check/repair)
* cleanups in the core and the fs'es (check/repair)
2006-06-17 09:55:32 +00:00
Bart Hakvoort 682283ce89 cleanups in the core and the fs'es (create)
* cleanups in the core and the fs'es (create)
2006-06-17 08:56:24 +00:00
Bart Hakvoort b92ac20232 added movesupport, atm in experimental state and needs lots of cleaning.
* include/GParted_Core.h,
  src/GParted_Core.cc,
  src/ext2.cc: added movesupport, atm in experimental state and needs
  lots of cleaning. only enabled for ext2, but should work for all
  filesystems.
* src/DialogFeatures.cc: added alternating rowcolours (see #342682)
2006-05-31 20:03:49 +00:00