| Путь: Toys/Other, команды версии: Ver.4 Ver.9 blkdiscard
Комментарии в файле blkdiscard.c : usage: blkdiscard [-olszf] DEVICE
Отбросить сектора устройства.
-o, --offset OFF Байтовое смещение для начала отбрасывания (по умолчанию 0)
-l, --length LEN Отбрасываемые байты (по умолчанию все)
-s, --secure Выполнить безопасное отбрасывание
-z, --zeroout Обнулить, а не отбрасывать
-f, --force Отключить проверку смонтированной файловой системы
OFF и LEN должны быть выровнены по размеру сектора устройства.
По умолчанию все устройство отбрасывается.
ВНИМАНИЕ: Все удаленные данные безвозвратно утеряны!
usage: blkdiscard [-olszf] DEVICE
Discard device sectors.
-o, --offset OFF Byte offset to start discarding at (default 0)
-l, --length LEN Bytes to discard (default all)
-s, --secure Perform secure discard
-z, --zeroout Zero-fill rather than discard
-f, --force Disable check for mounted filesystem
OFF and LEN must be aligned to the device sector size.
By default entire device is discarded.
WARNING: All discarded data is permanently lost!
Исходный текст в файле blkdiscard.c #define FOR_blkdiscard
#include "toys.h"
#include <linux/fs.h>
GLOBALS(
long o, l;
)
void blkdiscard_main(void)
{
int fd = xopen(*toys.optargs, O_WRONLY|O_EXCL*!FLAG(f));
unsigned long long ol[2];
// TODO: if numeric arg was long long array could live in TT.
ol[0] = TT.o;
if (FLAG(l)) ol[1] = TT.l;
else {
xioctl(fd, BLKGETSIZE64, ol+1);
ol[1] -= ol[0];
}
xioctl(fd, FLAG(s) ? BLKSECDISCARD : FLAG(z) ? BLKZEROOUT : BLKDISCARD, ol);
close(fd);
}
|
|