diff --git a/nfs_onreaddir.go b/nfs_onreaddir.go index d1a80c9..bd62a36 100644 --- a/nfs_onreaddir.go +++ b/nfs_onreaddir.go @@ -142,9 +142,9 @@ func onReadDir(ctx context.Context, w *response, userHandle Handler) error { if err := xdr.Write(writer, uint64(1)); err != nil { // cookie return &NFSStatusError{NFSStatusServerFault, err} } - } - if len(entities) > 0 || obj.Cookie == 0 { - if err := xdr.Write(writer, uint32(1)); err != nil { // next + next := 1 + if len(entities) == 0 { next = 0 } + if err := xdr.Write(writer, uint32(next)); err != nil { // next return &NFSStatusError{NFSStatusServerFault, err} } } diff --git a/nfs_onreaddirplus.go b/nfs_onreaddirplus.go index c0d1f7f..345d076 100644 --- a/nfs_onreaddirplus.go +++ b/nfs_onreaddirplus.go @@ -170,9 +170,9 @@ func onReadDirPlus(ctx context.Context, w *response, userHandle Handler) error { if err := xdr.Write(writer, uint32(0)); err != nil { // hasHandle return &NFSStatusError{NFSStatusServerFault, err} } - } - if len(entities) > 0 || obj.Cookie == 0 { - if err := xdr.Write(writer, uint32(1)); err != nil { // next + next := 1 + if len(entities) == 0 { next = 0 } + if err := xdr.Write(writer, uint32(next)); err != nil { // next return &NFSStatusError{NFSStatusServerFault, err} } }