Re: [PATCH v2] docs: filesystems: document the squashfs specific mount options

From: Phillip Lougher
Date: Mon Oct 30 2023 - 12:31:37 EST


On 30/10/2023 16:09, Ariel Miculas wrote:
On 23/10/30 03:40PM, Phillip Lougher wrote:
On 30/10/2023 12:57, Ariel Miculas wrote:
On 23/10/29 08:33PM, Phillip Lougher wrote:
On 29/10/2023 16:19, Ariel Miculas wrote:
When SQUASHFS_CHOICE_DECOMP_BY_MOUNT is set, the "threads" mount option
can be used to specify the decompression mode: single-threaded,
multi-threaded, percpu or the number of threads used for decompression.
When SQUASHFS_CHOICE_DECOMP_BY_MOUNT is not set and
SQUASHFS_DECOMP_MULTI is set, the "threads" option can also be used to
specify the number of threads used for decompression. This mount option
is only mentioned in fs/squashfs/Kconfig, which makes it difficult to
find.

Another mount option available is "errors", which can be configured to
panic the kernel when squashfs errors are encountered.

Add both these options to the squashfs documentation, making them more
noticeable.

Signed-off-by: Ariel Miculas <amiculas@xxxxxxxxx>

Looks good to me.

Reviewed-by: Phillip Lougher <phillip@xxxxxxxxxxxxxxx>

Unfortunately, it seems this is not quite correct either:
There is the config option SQUASHFS_MOUNT_DECOMP_THREADS:
```
bool "Add the mount parameter 'threads=' for squashfs"
depends on SQUASHFS
depends on SQUASHFS_DECOMP_MULTI
default n
help
Use threads= to set the decompression parallel mode and the number of threads.
If SQUASHFS_CHOICE_DECOMP_BY_MOUNT=y
threads=<single|multi|percpu|1|2|3|...>
else
threads=<2|3|...>
The upper limit is num_online_cpus() * 2.
```
that depends on SQUASHFS_DECOMP_MULTI.
So I think I should take my v1 patch and specify that the "threads="
mount option depends on SQUASHFS_MOUNT_DECOMP_THREADS. There's no need
to specify SQUASHFS_DECOMP_MULTI, because SQUASHFS_MOUNT_DECOMP_THREADS
already depends on it.

Sorry, you have to specify SQUASHFS_DECOMP_MULTI to be able to specify
SQUASHFS_MOUNT_DECOMP_THREADS if SQUASHFS_DECOMP_BY_MOUNT is unselected.
Agree.

Just try it, do make menuconfig, ensure SQUASHFS_CHOICE_DECOMP_BY_MOUNT
is unselected, select Single threaded decompression and you won't be
able to specify SQUASHFS_MOUNT_DECOMP_THREADS.
True.

That was the point of my review. What bit don't you understand?
But SQUASHFS_DECOMP_MULTI is not enough, you need to specify
SQUASHFS_MOUNT_DECOMP_THREADS in order to use the "threads=" mount
option.
So instead of saying
```
If SQUASHFS_CHOICE_DECOMP_BY_MOUNT is **not** set and
SQUASHFS_DECOMP_MULTI is set:
```
wouldn't it be right to actually say:
```
If SQUASHFS_CHOICE_DECOMP_BY_MOUNT is **not** set and
SQUASHFS_MOUNT_DECOMP_THREADS is set:
```?

As you've mentioned, you could only set SQUASHFS_MOUNT_DECOMP_THREADS
when SQUASHFS_DECOMP_MULTI is selected. That happens in two cases:
* either SQUASHFS_CHOICE_DECOMP_BY_MOUNT is set, in which case it also
selects SQUASHFS_MOUNT_DECOMP_THREADS
* either SQUASHFS_CHOICE_DECOMP_BY_MOUNT is not set,
SQUASHFS_DECOMP_MULTI is set and SQUASHFS_MOUNT_DECOMP_THREADS is also
set

So I wouldn't even mention SQUASHFS_DECOMP_MULTI in the documentation,
only SQUASHFS_MOUNT_DECOMP_THREADS, because the latter always depends on
the former. And the "threads=" mount option is only available when
SQUASHFS_MOUNT_DECOMP_THREADS is set (which is the configuration I've
missed in v1 and v2).


You seem determined to create an unpleasant argument here by trying to argue your first patch was correct, and I, as merely the maintainer, can't tell you to change it to how I want it.

If, as you pointed out in your first patch, the purpose is to
document the mount options, then the fact that threads=xxx
option depends on SQUASHFS_DECOMP_MULTI being selected is
important, and should be mentioned.

I have accepted your V2. If you want to withdraw it now, please
do so. But I will not accept further patches from you, nor
respond to any more of your emails.

It is never a good look to argue with the maintainer, when I am
trying to help you make your patch better. You attitude means this
has been a waste of my time so far.

Phillip

Regards,
Ariel

Phillip

What do you think?

Regards,
Ariel