Whamcloud - gitweb
LU-17550 lov: check for empty layout on DIO 77/54077/7
authorPatrick Farrell <paf0187@gmail.com>
Mon, 1 Apr 2024 15:28:49 +0000 (11:28 -0400)
committerOleg Drokin <green@whamcloud.com>
Tue, 23 Apr 2024 19:47:24 +0000 (19:47 +0000)
commit81611d7a7cd87daae9bbdbebb028b434ddde57af
tree27491059ac5a0bafe09f663ce21ea63b17093049
parent43afdc0ca2574b77fea8bc94e0dcdeb5afc82e6f
LU-17550 lov: check for empty layout on DIO

When a write crosses from an area of a file with a layout to
one without, the write should return ENODATA.  Due to layout
caching in the direct IO path, we need an extra check for
this to work correctly for DIO.

Fixes: 14db1faa0f ("LU-13799 lov: Cache stripe offset calculation")
Signed-off-by: Patrick Farrell <patrick.farrell@oracle.com>
Change-Id: Ib9a40dab7939d9420144ecaa7460625d6184aa0b
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/54077
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Shaun Tancheff <shaun.tancheff@hpe.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
lustre/lov/lov_cl_internal.h
lustre/lov/lov_io.c
lustre/lov/lov_page.c
lustre/tests/sanity-pfl.sh