git: 8f8e975c79 - main - Status/2025Q2/packrat.adoc: Add report

Lorenzo Salvadore <[email protected]>
Newsgroups gmane.os.freebsd.devel.cvs.doc
Message-ID <[email protected]>
The branch main has been updated by salvadore:

URL: https://cgit.FreeBSD.org/doc/commit/?id=8f8e975c798a328e9b7985bce6e812c6a3193e01

commit 8f8e975c798a328e9b7985bce6e812c6a3193e01
Author:     Rick Macklem <[email protected]>
AuthorDate: 2025-06-24 09:50:39 +0000
Commit:     Lorenzo Salvadore <[email protected]>
CommitDate: 2025-06-24 09:51:49 +0000

    Status/2025Q2/packrat.adoc: Add report
    
    Reviewed by:    status (Pau Amma <[email protected]>)
---
 .../en/status/report-2025-04-2025-06/packrat.adoc  | 23 ++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/website/content/en/status/report-2025-04-2025-06/packrat.adoc b/website/content/en/status/report-2025-04-2025-06/packrat.adoc
new file mode 100644
index 0000000000..7ceaaebd22
--- /dev/null
+++ b/website/content/en/status/report-2025-04-2025-06/packrat.adoc
@@ -0,0 +1,23 @@
+=== Packrat - NFS client caching on non-volatile storage
+
+Contact: Rick Macklem <[email protected]>
+
+NFSv4.1/4.2 provides support for a feature called delegations.
+When a NFSv4.1/4.2 client holds a delegation, the client has certain rights to a file, including a guarantee that no other client will make changes to the file unless the delegation is recalled.
+As such, when a client holds a delegation for a file, it can agressively cache the file's data, knowing that it will not be modified by other clients until it returns the delegation.
+
+This project is intended to allow the NFSv4.1/4.2 client to agressively cache file data on client local non-volatile storage, when the client holds a delegation for the file.
+I created a patch long ago to try and do this for NFSv4.0, but it was never at a stage where it was worth using.
+This project is a complete rewrite of the patch, done in part because NFSv4.1/4.2 plus other recent NFSv4 related changes makes doing this more feasible.
+
+The patch is getting stable now, but I am not sure if it will be ready for inclusion in FreeBSD 15 as an experimental feature enabled via a new mount option called "packrat".
+
+The main thing I still need to do is code a writeback kernel thread.
+Right now, dirty chunks stored on client local non-volatile storage get written back to the NFSv4.1/4.2 server upon umount.
+This can result in the umount taking a long time (as in many minutes).
+To alleviate this, I am planning on implementing a writeback kernel process that will walk the non-volatile storage and write the dirty chunks back.
+The trick is to make it aggressive enough that most dirty chunks have been written back when a umount is done, but not so aggressive that it impedes the performance of synchronous NFSv4.1/4.2 RPCs.
+
+This will be very much an experimental feature, but it is hoped it will allow NFS mounts to be used more effectively, particularily in WAN situations, such as a mobile laptop.
+
+There is still work to be done, particularily with respect to recovery of delegations after a NFSv4.1/4.2 client restart.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.