Я пытаюсь определить сектора, используемые в разделе. Но libparted не поддерживает поддержку ntfs/ext4 для изменения размера парирования, в моем коде мне просто нужно знать, сколько сектора используется.
Код ошибки: "Ошибка: изменение размера файловых систем ntfs не поддерживается"
SLPartition::SLPartition(PedPartition *partition, SLDrive *drive) :
_pedPartition(0),
_drive(0),
_mountInfo(QString()),
_path(QString()),
_name(QString()),
_start(0),
_end(0),
_size(0),
_sector(0)
{
if(partition)
{
this->_pedPartition = partition;
this->_drive = drive;
this->_path = ped_partition_get_path(partition);
this->_name = QString::number(partition->num);
this->_start = partition->geom.start;
this->_end = partition->geom.end;
this->_sector = partition->geom.length;
this->_size = partition->geom.length / 2;
qint64 usedSector = -1;
PedFileSystem *pedFileSystem = ped_file_system_open(&partition->geom);
if(pedFileSystem)
{
if(PedConstraint* pedConstraint = ped_file_system_get_resize_constraint(pedFileSystem))
{
usedSector = pedConstraint->min_size;
ped_constraint_destroy(pedConstraint);
}
ped_file_system_close(pedFileSystem);
}
qDebug() << usedSector;
// TODO MountInfo
}
}
Есть ли альтернативное решение? Спасибо.
Один из альтернатив - выложить на sfdisk
который имеет машинный синтаксический вывод.