* Added dialog (accessable from 'gparted' menu) which shows supported operations for the various filesystems.
I plan to put some more info in it, like what is missing etc..
* Refined checks for functionality a bit. e.g. even if a filesystem can't be read, it's still possible to grow it
(but shrinking gets disabled). Also removed that stupid grow_only flag from Utils.h and reordered Win_GParted::Set_Valid_Operations()
* added support for jfs (create, copy, grow) and hfs (create, copy)
* fixed a bug in copying xfs filesystems.
* fixed a number of small bugs/annoying issues.
* Added support for xfs. this means creating and growing xfs filesystems. Shrinking requires some hacking with dump_xfs etc..
i'll add that at a later point. :)
* Replaced boolean 'resize' with 'shrink' and 'grow'. It seems some filesystems only support growing (e.g. xfs) so i need
two flags to control the behaviour of the filesystemclasses.
* include/GParted_Core.h,
src/GParted_Core.cc: modified layoutscan a bit for improved handling of metadata.
* include/Operation.h,
src/Operation.cc: modified Insert_Unallocated() to prevent potential crasher.
* src/ext2.cc,
src/ext3.cc,
src/ntfs.cc,
src/reiserfs.cc: added LANG=C to the commands which read the used space of a filesystem. This prevent errors with some locales.
* added MIN and MAX to filesystemstruct to set min. and max sizes of a filesystem. So instead of checking per filesystem
i now simply check the fs.MIN or fs.MAX. this results in less and cleaner code. Also this will come in handy when adding
support for new filesystems. (This also fixed several minor bugs with filesystemsizes and gained some improvement in resizer
performance)
* src/GParted_Core.cc: When ( ! deep_scan ) now only one device is scanned (first found one). Shaves off a couple of millisec from startuptime |-)
* src/Win_GParted.cc: Fixed small bug with removable devices and the devicemenu. Also fixed redundant calling of 2 functions.
* include/FileSystem.h,
src/FileSystem.cc: Execute_Command() now returns exit status of executed command
* the filesystemclasses: returnvalue (bool) is now set according to the return status of the command
* src/GParted_Core.cc: It seemed some kernels remove and re-add blockdevicepaths after the commit_to_os. This caused trouble at some points
where the path was required. I decided to sleep 1 sec after each scan. So rescanning devices will take 1 extra second per device :|
* src/Win_GParted.cc: fixed typo in string.
* Every devicescan now tests on beforehand if the kernel is able to reread the partitiontable. If the kernel is unable to do
this, i disallow most operations. This may seem weird and even a bad thing to do, but the fact is it protects
the innocent user from a lot of potential damage. Till the linuxkernel is able to reread partitiontables no matter what, this seems
to be the best option. Of course a dialog with information will popup whenever such a situation is encountered.
In a next release i might consider adding an 'advanced mode' for users who know what they're doing.
* src/Dialog_Partition_New.cc: selecting 'extended partition' twice caused a segfault. i cannot believe i didn't detect this bug earlier :| Fixed.
also made it possible to create an unformatted partition.
* src/GParted_Core.cc: backend support for creating partition without filesystem (unformatted).
* Harddisks without disklabel are now properly initizalized and shown in the menu. When one tries to create a new partition on
such a disk a dialog pops up with some blabla about disklabels and offers to create a disklabel. sweet :P (special thanks to mantiena-baltix
for bringing this issue to my attention)
* fixed minor annoyance with refreshing detailed deviceinfo after a 'deep refresh'
* src/Dialog_Partition_Resize_Move.cc: fixed small bug with resizing and lower limits.
* src/GParted_Core.cc: use ped_file_system_clobber before creating a filesystem on a partition.
* src/Win_GParted.cc: pasting is now only allowed if unallocated >= copied partition + cylindersize.
Instead of dividing length device by amount of cylinders i use heads * sectors/track to get cylindersize.
Changed device busy warning a bit to more decent english (adamw)
* src/ntfs.cc: readded '-Q' to mkntfs. The error about an 'unknown filesystem' was related to detection problems and not to
faulty creation of the filesystem. Should be solved anyway by implementing ped_file_system_clobber.
Also removed ntfsfix since it didn't do anything relevant. Instead i use ntfsresize, because this contains relevant checks (szaka)
* src/TreeView_Detail.cc: renamed columnheader from 'Type' to 'Filesystem'. Dunno why it was called 'Type' (maybe some PM legacy =) )
* src/Win_GParted.cc: Made device busy warning a bit more sensible.
* include/Utils.h,
src/GParted_Core.cc,
src/Partition.cc,
src/TreeView_Detail.cc,
src/VBox_VisualDisk.cc: marked some strings for translation ('unknown', 'used', 'unused') and replaced lowercase 'unallocated' with '---'.
* include/GParted_Core.h,
src/GParted_Core.cc: fixed nasty error with resizing 'fixed-start filesystems'.
* src/Partition.cc: added a check to prevent unused space from being bigger then total space.
* src/ntfs.cc: removed -Q from mkntfs. -Q bypassed some safetychecks to gain performance and (so i heard later) also had a
tendency of failing ;) (Adrighem)
* include/GParted_Core.h,
src/GParted_Core.cc,
src/Makefile.am,
include/ntfs.h,
src/ntfs.cc: added full ntfs support. (couldn't test it very will due to the absence of a win32 box :P )
* src/GParted_Core.cc: cosmetics
* src/reiserfs.cc: make use of real commands instead of their symlinks. fixed copy of reiserfs filsystem
(the new size wasn't reported correctly)
* src/ext2.cc,
src/ext3.cc: removed ':' from Blocksize scan.
* src/reiserfs.cc: dumped progsreiserfs. From now on gparted uses the official namesystools (reiserfsprogs)
this resulted in much more reliable creation en resizing of reiserfs filesystems.
* Again way too many chances to create a detailed entry (i'm glad i'm the only dev atm :P ).
Resizing of ext2/3 works perfect now. I've even tested it on the partition holding my SG seasons =)
Implemented checking of filesystems (only internally used atm).
Done some overall tweaking, finetuning etc.. release 0.0.7 is getting shape.
* include/Device.h,
src/Device.cc: Removed bool Get_Any_Busy() in favor of public bool busy which is set in gparted_core.
This also fixed a small bug with incorrect mountdetection of logical partitions.
Also added a Reset() function to properly reset the contents of a device. to zero/empty .
* include/GParted_Core.h,
src/GParted_Core.cc: 'busyness' of a device is now determined in get_devices().
Renamed get_partitions() to set_device_partitions to reflect its proper function.
When a new partition is created to contain a copied filesystem the size is now properly set. This fixes
a very annoying bug which no one knew about except for me =) .
* src/Win_GParted.cc: use boolean busy from device instead of Get_Any_Busy() .
* Rewrote a large part of gparteds internal code. Filesystemssupport is now much more separated from the rest of gparted and
adding support for other filesystems should be a piece of cake now (hope that's true :P)
It still needs a lot of love, but the foundations are laid =)
* include/Operation.h,
src/Operation.cc: make use of reference arguments instead of return values in some functions.
Also fixed a small bug with deletion of a virtual (new) logical partition.
* include/VBox_VisualDisk.h,
src/VBox_VisualDisk.cc: logical filesystems weren't shown in the legend, fixed.
* src/Frame_Resizer_Base.cc: fixed small bug with custom cursors.
* src/TreeView_Detail.cc: removed obsolete, already commented code.
* src/Win_GParted.cc: make use of reference arguments instead of return values in some functions. (see Operation)
* instead of listing all partition in one list, logical partitions are now stored in a sublist in extended partition object.
This makes partitionhandling in gparted more natural and transparant. It also allowed me to clean up this ugly Operation class ;)
* configure.in: added checks for libuuid and libdl. Also refined libparted check a bit.
* include/Partition.h,
src/Partition.cc: removed Get_Color()
* include/Utils.h: added inline Glib::ustring Get_Color( const Glib::ustring & filesystem )
* src/Dialog_Partition_New.cc,
src/Win_GParted.cc: make use of Get_Color from Utils.h
* src/Device.cc: fixed a crasher with (at least) pl_PL locale.