Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 21 Oct 2025 15:02:13 +0200
From:      "Peter 'PMc' Much" <pmc@citylink.dinoex.sub.org>
To:        freebsd-fs@freebsd.org
Subject:   Why does rangelock_enqueue() hang for hours?
Message-ID:  <aPeEVSamcdKSoF5N@disp.intra.daemon.contact>

index | next in thread | raw e-mail


This is 14.3-RELEASE.

I am copying a file from a NFSv4 share to a local filesystem. This
takes a couple of hours.

In the meantime I want to read that partially copied file. This is
not possible. The reading process locks up in rangelock_enqueue(),
unkillable(!), and only after the first slow copy has completed, it
will do it's job.

Even if I do the first copy to stdout with redirect to file, the
same problem happens. I.e.:

 $ cat /nfsshare/File > /localfs/File &
 $ cat /localfs/File  --> HANGS unkillable

Only if I introduce another process, the tie is avoided:

 $ cat /nfsshare/File | cat > /localfs/File &
 $ cat /localfs/File  --> WORKS

I very much doubt that this is how it should be.

Also, if I try to get some information about the supposed operation
of this "rangelock" feature, search engines point me to a
"rangelock(9)" manpage on man.freebsd.org, but that page doesn't
seem to exist. :(


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?aPeEVSamcdKSoF5N>