Project

General

Profile

Bug #40245

filestore::read() does not assert on EIO

Added by Greg Farnum about 1 month ago. Updated about 1 month ago.

Status:
New
Priority:
Normal
Assignee:
Category:
Correctness/Safety
Target version:
-
Start date:
06/10/2019
Due date:
% Done:

0%

Source:
Tags:
Backport:
nautilus mimic luminous
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Component(RADOS):
FileStore
Pull request ID:

Description

  bufferptr bptr(len);  // prealloc space for entire read
  got = safe_pread(**fd, bptr.c_str(), len, offset);
  if (got < 0) {
    dout(10) << __FUNC__ << ": (" << cid << "/" << oid << ") pread error: " << cpp_strerror(got) << dendl;
    lfn_close(fd);
    return got;
  }

Whoops!

History

#1 Updated by Greg Farnum about 1 month ago

  • Status changed from In Progress to Need Review
  • Pull request ID set to 28478

#2 Updated by David Zafman about 1 month ago

Maybe we should add a comment to the code there explaining why m_filestore_fail_eio is not checked and we always return the error.

#3 Updated by Greg Farnum about 1 month ago

  • Status changed from Need Review to New
  • Assignee changed from Greg Farnum to David Zafman

#4 Updated by Greg Farnum about 1 month ago

Oh, this originated in the Red Hat tracker: https://bugzilla.redhat.com/show_bug.cgi?id=1682967

More discussion happening there; maybe we just won't worry about it since it's a LEVEL_DEV flag anyway.

Also available in: Atom PDF