Project

General

Profile

Actions

Bug #1429

closed

cfuse assert failed assert(diri->dn_set.size() < 2)

Added by Sam Lang over 12 years ago. Updated over 7 years ago.

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

0%

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

Description

This assertion happens when a directory is moved on one client, and then the other client changes to that directory. I'm able to reproduce it reliably with the following pattern:

node1:

mkdir /c/d1
mkdir /c/d2

node2:

cd /c/
ls

node1:

cd /c/
mv d2 d1/

node2:

cd /c/d1/d2
ls

../../src/client/Client.cc: 4280: FAILED assert(diri->dn_set.size() < 2)
ceph version (commit:)
1: (ceph::__ceph_assert_fail(char const*, char const*, int, char const*)+0x89) [0x7468c1]
2: (Client::readdir_r_cb(dir_result_t*, int ()(void, dirent*, stat*, int, long), void*)+0x408) [0x68119c]
3: /usr/ceph/bin/cfuse() [0x655660]
4: (()+0x12546) [0x7ffff7bb9546]
5: (fuse_session_loop()+0x75) [0x7ffff7bb7cb5]
6: (ceph_fuse_ll_main(Client*, int, char const**, int)+0x4fd) [0x655fc7]
7: (main()+0x5ad) [0x64cad4]
8: (_libc_start_main()+0xff) [0x7ffff630deff]
9: /usr/ceph/bin/cfuse() [0x64c3b9]
ceph version (commit:)
1: (ceph::
_ceph_assert_fail(char const*, char const*, int, char const*)+0x89) [0x7468c1]
2: (Client::readdir_r_cb(dir_result_t*, int ()(void, dirent*, stat*, int, long), void*)+0x408) [0x68119c]
3: /usr/ceph/bin/cfuse() [0x655660]
4: (()+0x12546) [0x7ffff7bb9546]
5: (fuse_session_loop()+0x75) [0x7ffff7bb7cb5]
6: (ceph_fuse_ll_main(Client*, int, char const**, int)+0x4fd) [0x655fc7]
7: (main()+0x5ad) [0x64cad4]
8: (__libc_start_main()+0xff) [0x7ffff630deff]
9: /usr/ceph/bin/cfuse() [0x64c3b9]

Actions

Also available in: Atom PDF