Require the knowledge of available space before shrinking the partition.

svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1327771
This commit is contained in:
Andrius Štikonas 2012-12-08 14:46:27 +00:00
parent f046d6a9d4
commit c0274efae9
4 changed files with 5 additions and 5 deletions

View File

@ -53,7 +53,7 @@ namespace FS
{
m_Create = findExternal("mkfs.btrfs") ? cmdSupportFileSystem : cmdSupportNone;
m_Check = findExternal("btrfsck", QStringList(), 1) ? cmdSupportFileSystem : cmdSupportNone;
m_Grow = findExternal("btrfs") ? cmdSupportFileSystem : cmdSupportNone;
m_Grow = (m_Check != cmdSupportNone && findExternal("btrfs")) ? cmdSupportFileSystem : cmdSupportNone;
m_GetUsed = findExternal("btrfs-debug-tree") ? cmdSupportFileSystem : cmdSupportNone;
m_Shrink = (m_Grow != cmdSupportNone && m_GetUsed != cmdSupportNone) ? cmdSupportFileSystem : cmdSupportNone;
@ -147,13 +147,12 @@ namespace FS
if (resizeCmd.run(-1) && resizeCmd.exitCode() == 0)
rval = true;
else
report.line() << i18nc("@info/plain", "Resizing Btrfs file system on partition <filename>%1</filename> failed: btrfs filesystem resize failed.", deviceNode);
report.line() << i18nc("@info/plain", "Resizing Btrfs file system on partition <filename>%1</filename> failed: btrfs file system resize failed.", deviceNode);
ExternalCommand unmountCmd(report, "umount", QStringList() << tempDir.name());
if (!unmountCmd.run(-1) && unmountCmd.exitCode() == 0 )
report.line() << i18nc("@info/plain", "Warning: Resizing Btrfs file system on partition <filename>%1</filename>: Unmount failed.", deviceNode);
}
else
report.line() << i18nc("@info/plain", "Resizing Btrfs file system on partition <filename>%1</filename> failed: Initial mount failed.", deviceNode);

View File

@ -54,7 +54,7 @@ namespace FS
m_Check = findExternal("e2fsck", QStringList() << "-V") ? cmdSupportFileSystem : cmdSupportNone;
m_UpdateUUID = findExternal("tune2fs") ? cmdSupportFileSystem : cmdSupportNone;
m_Grow = (m_Check != cmdSupportNone && findExternal("resize2fs")) ? cmdSupportFileSystem : cmdSupportNone;
m_Shrink = m_GetUsed != cmdSupportNone ? cmdSupportFileSystem : cmdSupportNone;
m_Shrink = (m_Grow != cmdSupportNone && m_GetUsed) != cmdSupportNone ? cmdSupportFileSystem : cmdSupportNone;
m_Copy = (m_Check != cmdSupportNone) ? cmdSupportCore : cmdSupportNone;
m_Move = (m_Check != cmdSupportNone) ? cmdSupportCore : cmdSupportNone;
m_Backup = cmdSupportCore;

View File

@ -58,7 +58,7 @@ namespace FS
m_GetLabel = cmdSupportCore;
m_SetLabel = findExternal("nilfs-tune") ? cmdSupportFileSystem : cmdSupportNone;
m_UpdateUUID = findExternal("nilfs-tune") ? cmdSupportFileSystem : cmdSupportNone;
m_Grow = (m_Check != cmdSupportNone && findExternal("nilfs-resize")) ? cmdSupportFileSystem : cmdSupportNone;
m_GetUsed = findExternal("nilfs-tune") ? cmdSupportFileSystem : cmdSupportNone;
m_Shrink = (m_Grow != cmdSupportNone && m_GetUsed != cmdSupportNone) ? cmdSupportFileSystem : cmdSupportNone;

View File

@ -28,6 +28,7 @@
#include <qglobal.h>
class Report;
class QString;
namespace FS