这与在ext4文件系统上设置项目配额/目录配额有关。允许ext4文件系统中的项目配额的修补程序是通过修补程序https://lore.kernel.org/patchwork/patch/541895/提交的。
我尝试了以下步骤(后面跟着相关命令):1.在块设备mkfs.ext4 /dev/nvme0n1上创建文件系统
将软块单元设置为10,硬单元设置为20。
回购配额-avugP
设备/dev/nvme0n1上的项目配额报告:7 7days;Inode优雅时间:7 7days阻止限制文件限制
工程使用软硬恩典软硬恩典
testproj -0 10 20 0 0 0
假定位-l 10G ten.txt
是否有其他步骤在ext4文件系统上启用配额?
内核版本:4.15.0-36-泛型
发布于 2020-04-27 17:45:02
我相信你错过了一个
chattr +P -p 51 /test/first/etc/project似乎只被XFS工具使用。此外,/etc/projid仅用于漂亮的打印。
这是我想出的方法:
(步骤0实际创建块设备:
dd if=/dev/zero of=/tmp/fs bs=1024 count=80000
losetup -f /tmp/fs
losetup -l)
mkfs.ext4 -I 256 /dev/loop0-E,避免在step3中使用挂载选项,但由于您在/proc/step3挂载中看不到它,所以也很狡猾)tune2fs -Q prjquota /dev/loop0
tune2fs -E mount_opts=prjquota /dev/loop0mount /dev/loop0 /mnt/loop/echo testproj:51 >> /etc/projidmkdir abc
chattr +P -p 51 abcsetquota -P testproj 0 1234 0 0 /mnt/loop/repquota -P /mnt/loop/
# in some parsable format, assuming you wrote some simple enough strings in projid, since the xml formatter is pretty basic
repquota -P /mnt/loop/ -O xml作为普通用户:
dd if=/dev/zero of=someoutput oflag=append
loop0: write failed, project block limit reached.
dd: writing to 'someoutput': Disk quota exceeded
2471+0 records in
2470+0 records out
1264640 bytes (1.3 MB, 1.2 MiB) copied, 0.00985608 s, 128 MB/schattr -p 43 someoutput
dd if=/dev/zero of=someoutput oflag=append
dd: writing to 'someoutput': No space left on device
127427+0 records in
127426+0 records out
65242112 bytes (65 MB, 62 MiB) copied, 0.561987 s, 116 MB/s这里完全填充了文件系统。
编辑:关于项目配额项目配额文件所有者可以更改其项目ID吗?,Re: ext4和项目配额缺陷(/特性)的限制的更多信息
https://stackoverflow.com/questions/52665377
复制相似问题