Почему `chattr + e <file>` терпит неудачу, когда на устройстве не остается свободного места, когда их много?

У меня проблема. chattr +e <file> не работает, если файл не имеет +e Аттр установлен на него, или если он удален и повторно добавлен.

[root@ip-203-0-113-13 log]# df -Th
Filesystem     Type      Size  Used Avail Use% Mounted on
devtmpfs       devtmpfs  3.8G     0  3.8G   0% /dev
tmpfs          tmpfs     3.8G     0  3.8G   0% /dev/shm
tmpfs          tmpfs     3.8G  388K  3.8G   1% /run
tmpfs          tmpfs     3.8G     0  3.8G   0% /sys/fs/cgroup
/dev/nvme0n1p1 ext4       30G  1.2G   28G   5% /
tmpfs          tmpfs     763M     0  763M   0% /run/user/1000
[root@ip-203-0-113-13 log]# df -ih
Filesystem     Inodes IUsed IFree IUse% Mounted on
devtmpfs         950K   343  949K    1% /dev
tmpfs            953K     1  953K    1% /dev/shm
tmpfs            953K   389  953K    1% /run
tmpfs            953K    17  953K    1% /sys/fs/cgroup
/dev/nvme0n1p1   1.9M   97K  1.8M    6% /
tmpfs            953K     5  953K    1% /run/user/1000
[root@ip-203-0-113-13 log]# find /tmp -type f | wc -l
6126
[root@ip-203-0-113-13 tmp]# touch bar
[root@ip-203-0-113-13 tmp]# chattr -e bar
[root@ip-203-0-113-13 tmp]# chattr +e bar
chattr: No space left on device while setting flags on bar

Waaaaat?

На устройстве достаточно места и много инодов, поэтому почему chattr +e неудачу? Если это имеет значение, я вижу эту ошибку на Fedora 28 на EC2. Я не вижу на SUSE 42 на EC2 (пока?)

Обновление:

Я побежал по команде. Я не уверен, что это полезно, но кажется интересным...

1 ответ

Если вы проверите вручную, этот параметр не предполагается изменять, я удивлен, что вы можете удалить, так как он не может найти смежную область, на которой он показывает вышеуказанную ошибку.

Extent format   e   (unavailable)   
The e attribute indicates that the file is using extents for mapping the blocks on disk
Другие вопросы по тегам