Whamcloud - gitweb
LU-14640 osd: ASSERTION(!PageDirty(lnb[i].lnb_page)
authorArshad Hussain <arshad.hussain@aeoncomputing.com>
Thu, 20 Jan 2022 03:06:11 +0000 (19:06 -0800)
committerAndreas Dilger <adilger@whamcloud.com>
Sat, 22 Jan 2022 08:22:01 +0000 (08:22 +0000)
commit2de61e1c4536e7de3beb8e74db6be17dd70d9584
tree2955af403fe50cf2a4c6aa618dd50e8b5c9eaf9c
parent8cb8de9cc1f11da8eed28015a907567820b11428
LU-14640 osd: ASSERTION(!PageDirty(lnb[i].lnb_page)

fallocate(PUNCH_HOLE) was leaving the partially-zeroed
page in the buffer cache. This was causing ASSERT when
doing large direct read/write operations. This was see
when executing a fsx run with options:-

$ fsx -c 50 -p 1000 -S 7919 -P /tmp -l 5407677 -N 100000 <file>

Lustre: DEBUG MARKER: GENERIC DEBUG start start
LustreError: 15768:0:(osd_io.c:1563:osd_write_commit())
ASSERTION( !PageDirty(lnb[i].lnb_page) ) failed:
LustreError: 15768:0:(osd_io.c:1563:osd_write_commit()) LBUG
Pid: 15768, comm: ll_ost_io00_000 3.10.0-957.el7_lustre.x86_64
Call Trace:
[<0>] libcfs_call_trace+0x90/0xf0 [libcfs]
[<0>] lbug_with_loc+0x4c/0xa0 [libcfs]
[<0>] osd_write_commit+0x52c/0x870 [osd_ldiskfs]
[<0>] ofd_commitrw_write+0xe79/0x1510 [ofd]
[<0>] ofd_commitrw+0x2ad/0x9a0 [ofd]
[<0>] tgt_brw_write+0xfd0/0x1cb0 [ptlrpc]
[<0>] tgt_request_handle+0x7ea/0x1750 [ptlrpc]
[<0>] ptlrpc_server_handle_request+0x256/0xb10 [ptlrpc]
[<0>] ptlrpc_main+0xb3c/0x14e0 [ptlrpc]
[<0>] kthread+0xd1/0xe0
[<0>] ret_from_fork_nospec_begin+0xe/0x21
[<0>] 0xfffffffffffffffe
Kernel panic - not syncing: LBUG

Test-case: sanity-benchmark/fsx_partial_punch added

Lustre-change: https://review.whamcloud.com/43462
Lustre-commit: 76c5e8ed9560fe232bcc0c2ee0069dbdb8411565

Test-Parameters: testlist=sanity-benchmark
Signed-off-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Change-Id: I89fcbc6af0cbf4b544b8d149703053909ecb6cad
Reviewed-by: Mike Pershin <mpershin@whamcloud.com>
Reviewed-by: Alex Zhuravlev <bzzz@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/46223
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
lustre/osd-ldiskfs/osd_io.c
lustre/tests/sanity-benchmark.sh