gparted/include/Dialog_Partition_Copy.h

40 lines
1.2 KiB
C
Raw Normal View History

/* Copyright (C) 2004 Bart
* Copyright (C) 2010 Curtis Gedak
2004-09-19 14:24:53 -06:00
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
2004-09-19 14:24:53 -06:00
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, see <http://www.gnu.org/licenses/>.
2004-09-19 14:24:53 -06:00
*/
#ifndef GPARTED_DIALOG_PARTITION_COPY_H
#define GPARTED_DIALOG_PARTITION_COPY_H
2004-09-19 14:24:53 -06:00
#include "../include/Dialog_Base_Partition.h"
namespace GParted
{
class Dialog_Partition_Copy : public Dialog_Base_Partition
{
public:
Remove cylinder size adjustments in the copy dialog (#749867) BUF in the copy dialog class, Dialog_Partition_Copy, is use to adjust limits in 2 cases: 1) Minimum size when copying an XFS file system Minimum size was set to the used space + 2 * cylinder size (typically plus ~16 MiB). This commit from 2004-12-20 added it: a54b52ea33abb1f5a44b52bcad5858ba41cd135d xfs copy now uses xfsdump and xfsrestore. icw some hacks in the other 2 Issues: * This is increasing the minimum XFS file system size when copying it, which doesn't happen in the resize case for other file systems. * It allows an XFS file system to be created which is smaller than the minimum size allowed by GParted. Copying an empty XFS file system can create a new file system as small as 26 MiB. This is smaller than the minimum GParted allows of 32 MiB because that is the minimum xfs_repair can handle. Remove this addition when copying an XFS file system and enforce minimum file system size. 2) Maximum size when copying a file system into empty space larger than it's maximum size Maximum size was set to maximum file system size - cylinder size (typically minus ~8 MiB). Only applied to FAT16 which has a maximum file system size set in and can be grown. Added by this commit from 2004-12-15: 10e8f3338d76e74c5fba22ff6c86888a67b99ae9 :get_fs now returns a const reference. in copy and resizedialog ... * in copy and resizedialog filesystems with MAX set now have a max size of MAX - one cylinder . Issue: * This is applying a lower maximum resize when copying the file system compared to that when creating the file system. NOTE: GParted currently allows all file systems to be resize to any size, regardless of the maximum file system size. This is probably an oversight, but it does allow libparted to convert FAT16 to FAT32 file system when resizing. Remove this lower maximum file system size when copying and resizing, compared to creating. Bug 749867 - Some limits are adjusted by arcane cylinder size amount when copying and resizing in a single operation
2015-05-25 13:09:46 -06:00
Dialog_Partition_Copy( const FS & fs );
void Set_Data( const Partition & selected_partition, const Partition & copied_partition );
2004-09-19 14:24:53 -06:00
Partition Get_New_Partition( Byte_Value sector_size ) ;
2004-09-19 14:24:53 -06:00
private:
2004-09-19 14:24:53 -06:00
};
}//GParted
#endif /* GPARTED_DIALOG_PARTITION_COPY_H */