Описание тега lakes
Вы должны учитывать две вещи:
- есть ли места выделено для данных, и
- есть ли данные на самом деле написано.
Если файл не содержит данных и не пространство, выделенное для него, вы получаете в конец файла указание при попытке прочитать его. Если вы пишете к нему, файловая система должна выделить место на момент записи: иными словами, операция записи может завершиться с ошибкой ENOSPC если нет свободного места на диске выделять.
Отверстие в разреженные файл имеет пространство, выделенное для него, и если вы попытаетесь прочитать что часть файла, вам вернуть данные, которые это все нули. Если вы пишите, что часть файла, файловая система должна снова выделить место для его во время операции записи, так что операция записи может завершиться с ошибкой ENOSPC если диск заполнен.
В ZFOD мере номинально, выделенные в файл, но нет никаких данных, записанных в него еще. Если Вы читаете это, вы вернетесь все-нули; если вы напишите это, место уже выделено, так что нет никакого риска для ENOSPC ошибки.
И, наконец, есть нормальное данные: если Вы читаете это, вы вернетесь на фактических данных, и если вы напишите это, вам заменить существующие данные новыми.
Иными словами, ZFOD степени оптимизации для ситуаций, когда заявка может передать большой файл, не использовать все это сразу, и еще нужна гарантия, что места будут доступны при необходимости. Для SSD хранения, стирания существующих данных из блока-самая медленная операция, поэтому ZFOD экстенты позволяют быстро создавать большие выделив его изначально как ZFOD степени: то файловая система может сделать реальное удаление и наполнение с нуля по требованию для каждого блока, который фактически используется.
Если твердотельные накопители используются для хранения чего-то, как образы дисков для виртуальных машин, экстенты ZFOD может помочь свести к минимуму количество фактических блоков диска должны быть удалены, и тем самым повысить срок службы твердотельного накопителя.