opencurve / curve

Curve is a sandbox project hosted by the CNCF Foundation. It's cloud-native, high-performance, and easy to operate. Curve is an open-source distributed storage system for block and shared file storage.

Home Page:https://opencurve.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[BUG] entry lost for directory list

Wine93 opened this issue · comments

Background

We use vdbench to test curvefs by specified configure file,it will create the directory /mnt/curvefs/test1/d1 as expect, but when we get all entries of the directory/mnt/curvefs/test, the entry d1 has lostd:

run vdbench

sudo ./vdbench -jn -f profile

configure

data_errors=1
fsd=fsd1,anchor=/mnt/curvefs/test1/d1,depth=1,width=10,files=50,sizes=(100m,0),shared=yes,openflags=o_direct
fsd=fsd2,anchor=/mnt/curvefs/test2/d2,depth=1,width=10,files=20,sizes=(100m,0),shared=yes,openflags=o_direct
fsd=fsd3,anchor=/mnt/curvefs/test3/d3,depth=1,width=10,files=50,sizes=(300m,0),shared=yes,openflags=o_direct
fwd=fwd1,fsd=fsd*,threads=10,xfersize=(512,20,4k,20,64k,20,512k,20,1024k,20),fileio=random,fileselect=random,rdpct=70
rd=rd1,fwd=fwd*,fwdrate=max,format=restart,elapsed=2000000,interval=1

list all entries

nbs@pubbeta2-nova48:/mnt/curvefs/test1$ ls -ls
total 1
1 -rwxrwxrwx 1 root root 68 Nov  2 12:28 no_dismount.txt

How to reproduce

It is easy to reproduce:

# Image: quay.io/opencurve/curve/curvefs:v2.7.0-beta1_aff0ebf
# Any mountpoint of curvefs, e.g. /mnt/curvefs/

$ cd /mnt/curvefs
$ mkdir d1
$ ls
d1
$ mkdir d2
$ ls 
d1

Hints

Maybe some wrong with directory cache.

image is: quay.io/opencurve/curve/curvefs:v2.7.0-beta1_aff0ebf