Почему `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