Project

General

Profile

Actions

Bug #20592

closed

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

Added by dongdong tao almost 7 years ago. Updated about 6 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
-
Category:
-
Target version:
-
% 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:
Crash signature (v1):
Crash signature (v2):

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 1 (0 open1 closed)

Copied to CephFS - Backport #20823: jewel: client::mkdirs not handle well when two clients send mkdir request for a same dirResolvedNathan CutlerActions
Actions

Also available in: Atom PDF