Whamcloud - gitweb
LU-15459 llite: clear async errors on write commit sync 78/46178/4
authorVladimir Saveliev <c17830@cray.com>
Mon, 24 Jan 2022 17:13:59 +0000 (20:13 +0300)
committerOleg Drokin <green@whamcloud.com>
Mon, 31 Jan 2022 01:46:43 +0000 (01:46 +0000)
commit73d5ee7033d0bd7dc6f928cc62766234a607a7c9
treeaac64a92ecb80a50a0355913329d7a37bdc66d23
parent7d6cddff24de2f79e539eae462554dc21e674511
LU-15459 llite: clear async errors on write commit sync

Async errors should be cleared after vvp_io_commit_sync(). Otherwise,
that will be done in ll_flush() called from
linux/fs/open.c:filp_close() and close(2) will fail. ll_flush()
replaces any error code with EIO which is confusing.

Test to illustrate the issue is added.
'P' mode is added to multiop. It is like 'w' but does only 1 write
call regardless to how many bytes were written.

HPE-bug-id: LUS-7529
Signed-off-by: Vladimir Saveliev <vlaidimir.saveliev@hpe.com>
Change-Id: I6b7a1465268999b48a50f3584f3821f4b088303d
Reviewed-on: https://review.whamcloud.com/46178
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Alexander Boyko <alexander.boyko@hpe.com>
Reviewed-by: Andrew Perepechko <andrew.perepechko@hpe.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
lustre/llite/vvp_io.c
lustre/tests/multiop.c
lustre/tests/sanity.sh