mirror of
https://github.com/cubefs/cubefs.git
synced 2026-08-02 02:00:56 +00:00
fix(client): Fixed issues #3586 readdir offset
Signed-off-by: linfangrong <linfangrong.liuxin@qq.com>
This commit is contained in:
parent
66d45dba3b
commit
0da75080fe
@ -462,19 +462,14 @@ func (d *Dir) ReadDir(ctx context.Context, req *fuse.ReadRequest, resp *fuse.Rea
|
||||
metric.SetWithLabels(err, map[string]string{exporter.Vol: d.super.volname})
|
||||
d.super.runningMonitor.SubClientOp(runningStat, err)
|
||||
}()
|
||||
var dirCtx DirContext
|
||||
if req.Offset != 0 {
|
||||
dirCtx = d.dctx.GetCopy(req.Handle)
|
||||
} else {
|
||||
dirCtx = DirContext{}
|
||||
}
|
||||
var dirCtx DirContext = d.dctx.GetCopy(req.Handle)
|
||||
children, err := d.super.mw.ReadDirLimit_ll(d.info.Inode, dirCtx.Name, limit)
|
||||
if err != nil {
|
||||
log.LogErrorf("readdirlimit: Readdir: ino(%v) err(%v) offset %v", d.info.Inode, err, req.Offset)
|
||||
return make([]fuse.Dirent, 0), ParseError(err)
|
||||
}
|
||||
|
||||
if req.Offset == 0 {
|
||||
if dirCtx.Name == "" {
|
||||
if len(children) == 0 {
|
||||
dirents := make([]fuse.Dirent, 0, len(children))
|
||||
dirents = append(dirents, fuse.Dirent{
|
||||
|
||||
Loading…
Reference in New Issue
Block a user