Tasks #64164
closedTasks #63293: Implement fscrypt in libcephfs and cephfs-fuse
verify st_blocks is correct
0%
Description
Verify that st_blocks is set correctly.
Updated by Christopher Hoffman 13 days ago
- Status changed from New to In Progress
It appears logic the #warning is addressing matches non-fscrypt directories behavior. This logic has been here since 2009:
https://github.com/ceph/ceph/commit/85d893c5f5a3d85331e09ff89587330392c016fb
per stat(2)
st_blocks This field indicates the number of blocks allocated to the file, in 512-byte units. (This may be smaller than st_size/512 when the file has holes.)
on ext4 filesystem:
build$ truncate -s 16M file1 build$ stat file1 File: file1 Size: 16777216 Blocks: 0 IO Block: 4096 regular file Device: 8,17 Inode: 84200845 Links: 1 ..
This isn't observed in ceph as it is based off of just file size: https://github.com/ceph/ceph/blob/1b53353dbdcb1a34745495fb7f27945380adf995/src/client/Client.cc#L8635
non-fscrypt dir in ceph:
mycephfs$ truncate -s 16M file1 mycephfs$ stat file1 File: file1 Size: 16777216 Blocks: 32768 IO Block: 4194304 regular file Device: 0,45 Inode: 1099511667168 Links: 1 ..
fscrypt dir in ceph:
fscrypt_test_unlocked_ffsb$ truncate -s 16M file1 fscrypt_test_unlocked_ffsb$ stat file1 File: file1 Size: 16777216 Blocks: 32768 IO Block: 4194304 regular file Device: 0,45 Inode: 1099511667186 Links: 1 ..
Updated by Christopher Hoffman 4 days ago
- Status changed from In Progress to Resolved
As fscrypt functionality and non-fscrypt functionality match, I am going to mark this ticket as confirmed/resolved. I've opened https://tracker.ceph.com/issues/66039 to discuss potential CephFS changes, which is out of scope of this feature.