Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
ext4: fix xattr block allocation/release with bigalloc
Currently when new xattr block is created or released we we would call dquot_free_block() or dquot_alloc_block() respectively, among the else decrementing or incrementing the number of blocks assigned to the inode by one block. This however does not work for bigalloc file system because we always allocate/free the whole cluster so we have to count with that in dquot_free_block() and dquot_alloc_block() as well. Use the clusters-to-blocks conversion EXT4_C2B() when passing number of blocks to the dquot_alloc/free functions to fix the problem. The problem has been revealed by xfstests zen-kernel#117 (and possibly others). Signed-off-by: Lukas Czerner <[email protected]> Signed-off-by: "Theodore Ts'o" <[email protected]> Reviewed-by: Eric Sandeen <[email protected]> Cc: [email protected]
- Loading branch information