Project

General

Profile

Bug #2328

osd: mapext/fiemap doesn't work for small extents

Added by Sage Weil almost 12 years ago. Updated almost 12 years ago.

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

0%

Source:
Development
Tags:
Backport:
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

If you query the mapping for an extent that inside a larger allocated extent, the fiemap ioctl won't tell you:

2012-04-21 13:24:19.941205 7f1b128ae910 15 filestore(dev/osd0) fiemap 2.4_head/42276e54/rb.0.6.000000000006/head 0~18446744073709551615
2012-04-21 13:24:19.941507 7f1b128ae910 10 filestore(dev/osd0) fiemap 2.4_head/42276e54/rb.0.6.000000000006/head 0~18446744073709551615 = 0 num extents=2
2012-04-21 13:28:00.666740 7f1b130af910 15 filestore(dev/osd0) fiemap 2.4_head/42276e54/rb.0.6.000000000006/head 1060199~383900
2012-04-21 13:28:00.666985 7f1b130af910 10 filestore(dev/osd0) fiemap 2.4_head/42276e54/rb.0.6.000000000006/head 1060199~383900 = 0 num extents=2
2012-04-21 13:28:54.826320 7f1b128ae910 15 filestore(dev/osd0) fiemap 2.4_head/42276e54/rb.0.6.000000000006/head 1060199~38390
2012-04-21 13:28:54.826526 7f1b128ae910 10 filestore(dev/osd0) fiemap 2.4_head/42276e54/rb.0.6.000000000006/head 1060199~38390 = 0 num extents=0

actual layout is
fa000   e000
146000  c000

in decimal that is
1024000~57344
1335296~49152

fs is ext4, 2.6.34-rc5. maybe this is an old kernel bug? will try to reproduce on a newer kernel.

History

#1 Updated by Sage Weil almost 12 years ago

this works on a newer kernel (3.2.0-2-amd64).

should we check kernel versions in filestore and magically disable fiemap if it is old?

#2 Updated by Sage Weil almost 12 years ago

  • Status changed from 12 to Resolved

see c8377e466caace018eea06c1739265111ce72c48 for a kludge that detects the bug and disabled fiemap.

Also available in: Atom PDF