• Y
    quota: fix a problem about transfer quota · 606561e1
    yangerkun 提交于
    [ Upstream commit c6d9c35d16f1bafd3fec64b865e569e48cbcb514 ]
    
    Run below script as root, dquot_add_space will return -EDQUOT since
    __dquot_transfer call dquot_add_space with flags=0, and dquot_add_space
    think it's a preallocation. Fix it by set flags as DQUOT_SPACE_WARN.
    
    mkfs.ext4 -O quota,project /dev/vdb
    mount -o prjquota /dev/vdb /mnt
    setquota -P 23 1 1 0 0 /dev/vdb
    dd if=/dev/zero of=/mnt/test-file bs=4K count=1
    chattr -p 23 test-file
    
    Fixes: 7b9ca4c6 ("quota: Reduce contention on dq_data_lock")
    Signed-off-by: Nyangerkun <yangerkun@huawei.com>
    Signed-off-by: NJan Kara <jack@suse.cz>
    Signed-off-by: NSasha Levin <sashal@kernel.org>
    606561e1
dquot.c 79.1 KB