git: 5105623711 - main - Status/2023Q3/squashfs.adoc: Add report

From: Lorenzo Salvadore <salvadore_at_FreeBSD.org>
Date: Thu, 05 Oct 2023 09:01:13 UTC
The branch main has been updated by salvadore:

URL: https://cgit.FreeBSD.org/doc/commit/?id=51056237110751b4662a4ba9a61b5a50059043ad

commit 51056237110751b4662a4ba9a61b5a50059043ad
Author:     Raghav Sharma <raghav@FreeBSD.org>
AuthorDate: 2023-10-05 08:43:22 +0000
Commit:     Lorenzo Salvadore <salvadore@FreeBSD.org>
CommitDate: 2023-10-05 09:01:05 +0000

    Status/2023Q3/squashfs.adoc: Add report
    
    Reviewed by:    Graham Perrin <grahamperrin@gmail.com>
    Pull Request:   https://github.com/freebsd/freebsd-doc/pull/274
---
 .../en/status/report-2023-07-2023-09/squashfs.adoc | 29 ++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/website/content/en/status/report-2023-07-2023-09/squashfs.adoc b/website/content/en/status/report-2023-07-2023-09/squashfs.adoc
new file mode 100644
index 0000000000..70fd1484a4
--- /dev/null
+++ b/website/content/en/status/report-2023-07-2023-09/squashfs.adoc
@@ -0,0 +1,29 @@
+=== SquashFS driver for FreeBSD kernel
+
+Links: +
+link:https://wiki.freebsd.org/SummerOfCode2023Projects/PortSquashFuseToTheFreeBSDKernel[Wiki page] URL: link:https://wiki.freebsd.org/SummerOfCode2023Projects/PortSquashFuseToTheFreeBSDKernel[] +
+link:https://github.com/Mashijams/freebsd-src/tree/gsoc/testing[Source code] URL: link:https://github.com/Mashijams/freebsd-src/tree/gsoc/testing[]
+
+Contact: Raghav Sharma <raghav@FreeBSD.org>
+
+This quarter we finished SquashFS driver work for the kernel.
+We now can mount SquashFS archives on FreeBSD 13.2-RELEASE or greater, and perform all basic read-only filesystem operations.
+
+Code work includes:
+
+* Implementing vop_lookup() and vop_readdir() hooks for directory read support.
+* Implementing vop_read() and vop_strategy() hooks for files read support.
+* Implementing vop_readlink() hook for symlinks read support.
+
+We also implemented extended attributes interface functions for SquashFS.
+All that remains is to implement their kernel interface hooks.
+
+There were a lot of bug fixes as well.
+One major issue was to find out why we can not list the first entry of the root directory, it transpires that SquashFS could have `inode_number` as zero, which the kernel, for some reason, skips while listing dirents.
+For now, we fixed it by passing dummy `inode_number`, instead of zero, to dirent.
+
+The code review is currently ongoing with my mentor mailto:chuck@FreeBSD.org[Chuck Tuffli].
+
+I am happy to say that SquashFS will find its place in upcoming FreeBSD releases.
+
+Sponsor: The Google Summer of Code 2023 program