summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
85362fa)
When create a file, blocks are allocated with PAGE_SIZE aligned,
see function osd_ldiskfs_map_inode_pages(). E.g. for 64K PAGE_SIZE
Arm64 OST server, if create a file with size less than 64K, it
actually allocates 128 blocks each block 512 Bytes.
It needs to adjust the test for 64K PAGE_SIZE OST server.
Test-Parameters: trivial
Test-Parameters: clientarch=aarch64 fstype=ldiskfs testlist=sanity \
env=PTLDEBUG=-1,ONLY=317
Test-Parameters: fstype=ldiskfs testlist=sanity \
env=PTLDEBUG=-1,ONLY=317
Change-Id: Iada701f4f424093e847fc70aa843873b75fe6b06
Signed-off-by: Xinliang Liu <xinliang.liu@linaro.org>
Reviewed-on: https://review.whamcloud.com/45395
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Tested-by: jenkins <devops@whamcloud.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
if [[ $(uname -m) = aarch64 ]]; then
# bug number: LU-11596
ALWAYS_EXCEPT+=" $GRANT_CHECK_LIST"
if [[ $(uname -m) = aarch64 ]]; then
# bug number: LU-11596
ALWAYS_EXCEPT+=" $GRANT_CHECK_LIST"
- # bug number: LU-11671 LU-11667
- ALWAYS_EXCEPT+=" 45 317"
+ # bug number: LU-11671
+ ALWAYS_EXCEPT+=" 45"
# bug number: LU-14067 LU-14067
ALWAYS_EXCEPT+=" 400a 400b"
fi
# bug number: LU-14067 LU-14067
ALWAYS_EXCEPT+=" 400a 400b"
fi
- # Create file with a hole and write actual two blocks. Block count
- # must be 16.
+ # Create file with a hole and write actual 65536 bytes which aligned
+ # with 4K and 64K PAGE_SIZE. Block count must be 128.
- dd if=/dev/zero of=$DIR/$tfile bs=$grant_blk_size count=2 seek=5 \
- conv=fsync || error "Create file : $DIR/$tfile"
-
- # Calculate the final truncate size.
- trunc_sz=$(($(stat --format=%s $DIR/$tfile) - (grant_blk_size + 1)))
+ local bs=65536
+ dd if=/dev/zero of=$DIR/$tfile bs=$bs count=1 seek=5 conv=fsync ||
+ error "Create file : $DIR/$tfile"
- # truncate to size $trunc_sz bytes. Strip the last block
- # The block count must drop to 8
+ # Truncate to size $trunc_sz bytes. Strip tail blocks and leave only 8
+ # blocks. The block count must drop to 8.
+ trunc_sz=$(($(stat --format=%s $DIR/$tfile) - \
+ ((bs - grant_blk_size) + 1)))
$TRUNCATE $DIR/$tfile $trunc_sz ||
error "truncate $tfile to $trunc_sz failed"
$TRUNCATE $DIR/$tfile $trunc_sz ||
error "truncate $tfile to $trunc_sz failed"