Project

General

Profile

Actions

Bug #4023

open

kclient: d_revalidate is abusing d_parent

Added by Sage Weil about 11 years ago. Updated over 4 years ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
Correctness/Safety
Target version:
-
% Done:

0%

Source:
Community (dev)
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

See Viro's email to linux-fsdevel, http://marc.info/?l=linux-fsdevel&m=135968126020360&w=2 .

We probably need to link the ceph_dentry_info to struct on the parent inode (properly refcounted) when its validity is chained to the parent's cap. This is sort of duplicating d_parent, but the current code is abusing it and racy.

Actions #1

Updated by Sage Weil about 11 years ago

  • Assignee set to Sage Weil
Actions #2

Updated by Greg Farnum about 10 years ago

  • Priority changed from Normal to High

Is this still a problem?

Actions #3

Updated by Zheng Yan about 10 years ago

The race still exists, but I don't think it's big problem. Because even if ceph_get_dentry_parent_inode() returns a wrong parent inode, ceph_d_revalidate() still works.

Actions #4

Updated by Sage Weil about 10 years ago

  • Assignee deleted (Sage Weil)
Actions #5

Updated by Greg Farnum about 10 years ago

  • Priority changed from High to Normal
Actions #6

Updated by Greg Farnum almost 8 years ago

  • Component(FS) kceph added
Actions #7

Updated by Greg Farnum almost 8 years ago

  • Category changed from 53 to Correctness/Safety

Is this still an issue?

Actions #8

Updated by Patrick Donnelly over 4 years ago

  • Status changed from 12 to New
Actions

Also available in: Atom PDF