[LU-14143] SEEK_HOLE returns -ENXIO if file ends at components boundary Created: 19/Nov/20  Updated: 13/Dec/20  Resolved: 13/Dec/20

Status: Resolved
Project: Lustre
Component/s: None
Affects Version/s: None
Fix Version/s: Lustre 2.14.0

Type: Bug Priority: Minor
Reporter: Mikhail Pershin Assignee: Mikhail Pershin
Resolution: Fixed Votes: 0
Labels: None

Issue Links:
Related
is related to LU-10810 SEEK_HOLE and SEEK_DATA support for l... Resolved
Severity: 3
Rank (Obsolete): 9223372036854775807

 Description   

Correct return value should be the end of file. LOV skips hole offset is it is equal to component end, because component 'end' value is actually the next component 'start' and belongs to it, so LOV expects the next component to continue and report an offset. This doesn't work if next component is not initialized, i.e. file ends exactly at the component boundary, so the next component is not involved in IO even.

To solve that issue, LOV should remember reported hole offsets if they are at the component end and report the maximum one if neither component returned valid offset



 Comments   
Comment by Gerrit Updater [ 19/Nov/20 ]

Mike Pershin (mpershin@whamcloud.com) uploaded a new patch: https://review.whamcloud.com/40713
Subject: LU-14143 lov: fix SEEK_HOLE calcs at component end
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: 5ed6d568c444067fff78fff346e5dd3f3f51a227

Comment by Gerrit Updater [ 13/Dec/20 ]

Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/40713/
Subject: LU-14143 lov: fix SEEK_HOLE calcs at component end
Project: fs/lustre-release
Branch: master
Current Patch Set:
Commit: dbb6b493ad9f989197401bdfec72b93bbb7a8faf

Comment by Peter Jones [ 13/Dec/20 ]

Landed for 2.14

Generated at Sat Feb 10 03:07:13 UTC 2024 using Jira 9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c.