Project

General

Profile

Actions

Bug #9238

closed

Floating point exception in Locker::calc_new_client_ranges

Added by John Spray over 9 years ago. Updated over 9 years ago.

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

0%

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

Description

On master, MDS starts fine first time and then crashes on second start.

Floating point error on Locker::calc_new_client_ranges in:

uint64_t ms = ROUND_UP_TO((size+1)<<1, latest->get_layout_size_increment());

Probably because of:

commit 9449520b121fc6ce0c64948386d4ff77f46f4f5f
Author: Loic Dachary <loic-201408@dachary.org>
Date:   Mon Aug 25 17:05:04 2014 +0200

    common: ROUND_UP_TO accepts any rounding factor

    The ROUND_UP_TO function was limited to rounding factors that are powers
    of two. This saves a modulo but it is not used where it would make a
    difference. The implementation is changed so it is generic.

    http://tracker.ceph.com/issues/9209 Fixes: #9209

    Signed-off-by: Loic Dachary <loic-201408@dachary.org>
Actions #1

Updated by John Spray over 9 years ago

  • Status changed from In Progress to Fix Under Review
Actions #2

Updated by Sage Weil over 9 years ago

  • Status changed from Fix Under Review to Resolved
  • Source changed from other to Q/A
Actions #3

Updated by Loïc Dachary over 9 years ago

Should this be backport to firefly ?

Actions #4

Updated by John Spray over 9 years ago

Loic: if the original change was on firefly too then yes

Actions

Also available in: Atom PDF