Справочник по консольным командам Toybox для Android 12


  Ver.0.8.4     Ver.0.8.9     Pending  

Путь: 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);
    }