Project

General

Profile

Actions

Bug #14365

closed

unsafe handle_config_change() methods

Added by Josh Durgin over 8 years ago. Updated about 8 years ago.

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

0%

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

Description

The handle_conf_change() methods in these files look potentially unsafe (modifying data without locks):

client/Client.cc
mds/StrayManager.cc
Actions #1

Updated by Greg Farnum about 8 years ago

  • Assignee set to John Spray

I think these should be okay, but it's easy to fix. John, can you establish that we don't need locks or else set them up? (Not sure if I'm missing something in the stray manager's locking path.)

Actions #2

Updated by John Spray about 8 years ago

  • Status changed from New to In Progress
Actions #3

Updated by John Spray about 8 years ago

Turns out there's a pre-existing lock cycle issue similar to #14374 here, we just never noticed because live config changes are untested for the most part.

Actions #4

Updated by John Spray about 8 years ago

Also, MDSDaemon::handle_conf_change was broken because it was taking mds_lock, when mds_lock is already taken in the handle_command path that's calling into injectargs.

Actions #5

Updated by John Spray about 8 years ago

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

Updated by Greg Farnum about 8 years ago

  • Status changed from Fix Under Review to Resolved
Actions

Also available in: Atom PDF