Project

General

Profile

Actions

Bug #8542

closed

kcephfs: fsx failure on read (expected 0's)

Added by Sage Weil almost 10 years ago. Updated almost 8 years ago.

Status:
Resolved
Priority:
Urgent
Assignee:
-
Category:
-
Target version:
-
% Done:

0%

Source:
Q/A
Tags:
Backport:
Regression:
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Component(FS):
kceph
Labels (FS):
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

2014-06-05T01:59:10.768 INFO:teuthology.task.workunit.client.0.plana67.stdout:READ BAD DATA: offset = 0x1bede, size = 0x49b6, fname = 1MB
2014-06-05T01:59:10.768 INFO:teuthology.task.workunit.client.0.plana67.stdout:OFFSET    GOOD    BAD     RANGE
2014-06-05T01:59:10.768 INFO:teuthology.task.workunit.client.0.plana67.stdout:0x1d387   0x0000  0x9c2d  0x    0

ubuntu@teuthology:/a/teuthology-2014-06-02_23:02:10-kcephfs-master-testing-basic-plana/289501
Actions #1

Updated by Greg Farnum almost 10 years ago

teuthology-2014-06-06_23:01:56-kcephfs-master-testing-basic-plana/297431/

Actions #2

Updated by Greg Farnum almost 10 years ago

/a/teuthology-2014-06-01_23:02:07-kcephfs-next-testing-basic-plana/285055

Actions #3

Updated by Greg Farnum almost 10 years ago

/teuthology-2014-05-30_23:02:02-kcephfs-master-testing-basic-plana/283020/

Actions #4

Updated by Zheng Yan almost 10 years ago

  • Status changed from New to Resolved

ceph_fallocate() does not recognize FALLOC_FL_ZERO_RANGE

Actions #5

Updated by Greg Farnum almost 10 years ago

So...we need to implement that functionality, don't we? Just knowing the problem isn't a resolution, if we're no longer compliant with Linux ABI expectations.

Actions #6

Updated by Zheng Yan almost 10 years ago

There is no way we can support it

/* * FALLOC_FL_ZERO_RANGE is used to convert a range of file to zeros preferably * without issuing data IO. Blocks should be preallocated for the regions that * span holes in the file, and the entire range is preferable converted to * unwritten extents - even though file system may choose to zero out the * extent or do whatever which will result in reading zeros from the range * while the range remains allocated for the file. * * This can be also used to preallocate blocks past EOF in the same way as * with fallocate. Flag FALLOC_FL_KEEP_SIZE should cause the inode * size to remain the same.
*/

Actions #7

Updated by Sage Weil almost 10 years ago

  • Status changed from Resolved to 12

We can support it, just not "preferably without issuing data IO". It needs to iterate over the range and zero the range or delete the objects. I thought this was already supported, actually... I know Client implements it.

Actions #8

Updated by Zheng Yan almost 10 years ago

file system may choose to zero out the extent or do whatever which will result in reading zeros from the range while the range remains allocated for the file

I don't I think we should treat FALLOC_FL_ZERO_RANGE the same as FALLOC_FL_PUNCH_HOLE. It give users false impression that we support pre-allocated blocks.

Actions #9

Updated by Sage Weil almost 10 years ago

  • Status changed from 12 to Fix Under Review

https://github.com/ceph/ceph/pull/2045

from our fsx's help:
-z: Do not use zero range calls

Actions #10

Updated by Sage Weil almost 10 years ago

  • Status changed from Fix Under Review to Resolved
Actions #11

Updated by Greg Farnum almost 8 years ago

  • Component(FS) kceph added
Actions

Also available in: Atom PDF