Project

General

Profile

Bug #20592

client::mkdirs not handle well when two clients send mkdir request for a same dir

Added by dongdong tao over 1 year ago. Updated 12 months ago.

Status:
Resolved
Priority:
Normal
Assignee:
-
Category:
-
Target version:
-
Start date:
07/12/2017
Due date:
07/20/2017
% Done:

0%

Source:
Community (dev)
Tags:
Backport:
jewel
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Component(FS):
Client
Labels (FS):
Pull request ID:

Description

suppose we got two clients trying to make two level directory:

client1 mkdirs: a/b
client2 mkdirs: a/c

in function "Client::mkdirs", it is possible that client1 and client2 all get -ENOENT when lookup "a" almost the same time, since _lookup only need the AUTH_SHARED caps.
then client1 and client2 will all send _mkdir request to MDS server, this will cause client1 or client2 got -EEXIST and just return without _mkdir b or c.


Related issues

Copied to fs - Backport #20823: jewel: client::mkdirs not handle well when two clients send mkdir request for a same dir Resolved

History

#1 Updated by dongdong tao over 1 year ago

I have pulled a request for this issue
https://github.com/ceph/ceph/pull/16280

#2 Updated by Nathan Cutler over 1 year ago

  • Status changed from New to Need Review

#3 Updated by Jos Collin over 1 year ago

  • Status changed from Need Review to In Progress

#4 Updated by Patrick Donnelly over 1 year ago

  • Status changed from In Progress to Pending Backport
  • Backport set to jewel

#5 Updated by Nathan Cutler over 1 year ago

  • Copied to Backport #20823: jewel: client::mkdirs not handle well when two clients send mkdir request for a same dir added

#6 Updated by Nathan Cutler 12 months ago

  • Status changed from Pending Backport to Resolved

Also available in: Atom PDF