Actions
Bug #44021
closedclient: bad error handling in Client::_lseek
% Done:
0%
Source:
Development
Tags:
Backport:
nautilus,mimic
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Component(FS):
Client
Labels (FS):
Pull request ID:
Crash signature (v1):
Crash signature (v2):
Description
The SEEK_HOLE and SEEK_DATA error handling looks broken in the userland client:
case SEEK_DATA: if (offset < 0 || static_cast<uint64_t>(offset) >= in->size) { r = -ENXIO; return offset; } pos = offset; break; case SEEK_HOLE: if (offset < 0 || static_cast<uint64_t>(offset) >= in->size) { r = -ENXIO; pos = offset; } else { pos = in->size; } break;
Both of the cases where we have "r = -ENXIO" should probably be just "return -ENXIO".
Updated by Patrick Donnelly about 4 years ago
- Subject changed from bad error handling in Client::_lseek to client: bad error handling in Client::_lseek
- Status changed from New to Fix Under Review
- Target version set to v15.0.0
- Source set to Development
- Backport set to nautilus,mimic
- Pull request ID set to 33480
- Component(FS) Client added
Updated by Patrick Donnelly about 4 years ago
- Status changed from Fix Under Review to Pending Backport
Updated by Nathan Cutler about 4 years ago
- Copied to Backport #44328: nautilus: client: bad error handling in Client::_lseek added
Updated by Nathan Cutler about 4 years ago
- Copied to Backport #44329: mimic: client: bad error handling in Client::_lseek added
Updated by Nathan Cutler almost 4 years ago
- Status changed from Pending Backport to Resolved
While running with --resolve-parent, the script "backport-create-issue" noticed that all backports of this issue are in status "Resolved" or "Rejected".
Actions