为什么`chattr +e` 当设备上有足够的空间时,是否会因没有剩余空间而失败?

为什么`chattr +e` 当设备上有足够的空间时,是否会因没有剩余空间而失败?

我有一个问题。如果文件没有设置属性,或者文件被删除并重新添加,则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

什么?

充足设备上的空间和充足有空闲的 inode,那么为什么会chattr +e失败?如果有什么不同的话,我在 EC2 上的 Fedora 28 上看到了这个失败。我在 EC2 上的 SUSE 42 上还没有看到(还没有?)

更新

我跑了斯特拉斯在命令上。我不确定它是否有用,但它看起来很有趣......

答案1

如果你检查手动的此参数不应该改变,我很惊讶你能够删除,因为它无法找到显示上述错误的连续区域。

范围格式() […]
“e”属性表示该文件正在使用范围来映射磁盘上的块。

相关内容