diff --git a/src/fs/btrfs.cpp b/src/fs/btrfs.cpp index 44d9b06..f911608 100644 --- a/src/fs/btrfs.cpp +++ b/src/fs/btrfs.cpp @@ -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 %1 failed: btrfs filesystem resize failed.", deviceNode); + report.line() << i18nc("@info/plain", "Resizing Btrfs file system on partition %1 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 %1: Unmount failed.", deviceNode); - } else report.line() << i18nc("@info/plain", "Resizing Btrfs file system on partition %1 failed: Initial mount failed.", deviceNode); diff --git a/src/fs/ext2.cpp b/src/fs/ext2.cpp index 06999d2..73a6242 100644 --- a/src/fs/ext2.cpp +++ b/src/fs/ext2.cpp @@ -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; diff --git a/src/fs/nilfs2.cpp b/src/fs/nilfs2.cpp index 7654e02..2693e95 100644 --- a/src/fs/nilfs2.cpp +++ b/src/fs/nilfs2.cpp @@ -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; diff --git a/src/fs/nilfs2.h b/src/fs/nilfs2.h index edaae51..ed98e8a 100644 --- a/src/fs/nilfs2.h +++ b/src/fs/nilfs2.h @@ -28,6 +28,7 @@ #include class Report; + class QString; namespace FS