On Tue, 11 Nov 2025 22:00:39 +0900, Masaharu Noguchi wrote:
> Hi Akira and Bagas,
> 
> As suggested, I replaced TABs inside the ASCII tables with white spaces
> for better readability. No other content changes were made.
> 
> Thanks for your reviews and acks.
> 
> Best regards,
> Masaharu Noguchi
> 
> ---

Grumble ...
The above will be the Changelog of this patch.
I don't think that is what you'd like to see.

> Sphinx LaTeX builder fails with the following error when it tries to
> turn the ASCII tables in f2fs.rst into nested longtables:
> 
>   Markup is unsupported in LaTeX:
>   filesystems/f2fs:: longtable does not support nesting a table.
> 
> Wrap the tables in literal code blocks so that Sphinx renders them as
> verbatim text instead. This prevents the LaTeX builder from attempting
> unsupported table nesting and fixes the pdfdocs build.

Probably, Changelog should end here.

> 
> Akira Yokosawa pointed out that the in-development Sphinx 8.3 latex
> builder already handles these nested tables. I still want to fix the
> current documentation because Sphinx 8.3 is not released yet, and the
> LaTeX build on the stable 8.2.x series (which also requires
> "docutils<0.22" for now) remains broken without this change.
> 
> Link: https://lore.kernel.org/lkml/[email protected]/
> Changes in v2:
>  - wrap the compression level table in a literal block and add the
>    missing blank lines so docutils no longer warns about malformed
>    tables
>  - consistently use ``.. code-block:: none`` for the other ASCII tables
>    that previously triggered the LaTeX error
> Changes in v3:
>  - Replace TABs inside ASCII tables with white spaces for readability
>  - Keep Reviewed-by and Acked-by tags as the technical content remains 
> unchanged

These background and change history should go out of the Changelog area. 

Please have a look at Documentation/process/submitting-patches.rst,
especially the section "The canonical patch format".

> 
> Acked-by: Bagas Sanjaya <[email protected]>
> Reviewed-by: Akira Yokosawa <[email protected]>
> Signed-off-by: Masaharu Noguchi <[email protected]>
> ---
>  Documentation/filesystems/f2fs.rst | 115 +++++++++++++++--------------
>  1 file changed, 61 insertions(+), 54 deletions(-)
> 
> diff --git a/Documentation/filesystems/f2fs.rst 
> b/Documentation/filesystems/f2fs.rst
> index a8d02fe5be83..1de0bc83d76e 100644

Well, the hash after this change (1de0bc83d76e) does not match the
one in the diff I suggested (fbe9f8d35366).  Did you make the change
by hand?

> --- a/Documentation/filesystems/f2fs.rst
> +++ b/Documentation/filesystems/f2fs.rst
> @@ -188,34 +188,36 @@ fault_type=%d            Support configuring fault 
> injection type, should be
>                        enabled with fault_injection option, fault type value
>                        is shown below, it supports single or combined type.
>  
> -                      ===========================      ==========
> -                      Type_Name                        Type_Value
> -                      ===========================      ==========
> -                      FAULT_KMALLOC                    0x00000001
> -                      FAULT_KVMALLOC                   0x00000002
> -                      FAULT_PAGE_ALLOC                 0x00000004
> -                      FAULT_PAGE_GET                   0x00000008
> -                      FAULT_ALLOC_BIO                  0x00000010 (obsolete)
> -                      FAULT_ALLOC_NID                  0x00000020
> -                      FAULT_ORPHAN                     0x00000040
> -                      FAULT_BLOCK                      0x00000080
> -                      FAULT_DIR_DEPTH                  0x00000100
> -                      FAULT_EVICT_INODE                0x00000200
> -                      FAULT_TRUNCATE                   0x00000400
> -                      FAULT_READ_IO                    0x00000800
> -                      FAULT_CHECKPOINT                 0x00001000
> -                      FAULT_DISCARD                    0x00002000
> -                      FAULT_WRITE_IO                   0x00004000
> -                      FAULT_SLAB_ALLOC                 0x00008000
> -                      FAULT_DQUOT_INIT                 0x00010000
> -                      FAULT_LOCK_OP                    0x00020000
> -                      FAULT_BLKADDR_VALIDITY           0x00040000
> -                      FAULT_BLKADDR_CONSISTENCE        0x00080000
> -                      FAULT_NO_SEGMENT                 0x00100000
> -                      FAULT_INCONSISTENT_FOOTER        0x00200000
> -                      FAULT_TIMEOUT                    0x00400000 (1000ms)
> -                      FAULT_VMALLOC                    0x00800000
> -                      ===========================      ==========
> +                      .. code-block:: none
> +
> +                          ===========================      ==========
> +                          Type_Name                        Type_Value
> +                          ===========================      ==========
> +                          FAULT_KMALLOC                    0x00000001
> +                          FAULT_KVMALLOC                   0x00000002
> +                          FAULT_PAGE_ALLOC                 0x00000004
> +                          FAULT_PAGE_GET                   0x00000008
> +                          FAULT_ALLOC_BIO                  0x00000010 
> (obsolete)
> +                          FAULT_ALLOC_NID                  0x00000020
> +                          FAULT_ORPHAN                     0x00000040
> +                          FAULT_BLOCK                      0x00000080
> +                          FAULT_DIR_DEPTH                  0x00000100
> +                          FAULT_EVICT_INODE                0x00000200
> +                          FAULT_TRUNCATE                   0x00000400
> +                          FAULT_READ_IO                    0x00000800
> +                          FAULT_CHECKPOINT                 0x00001000
> +                          FAULT_DISCARD                    0x00002000
> +                          FAULT_WRITE_IO                   0x00004000
> +                          FAULT_SLAB_ALLOC                 0x00008000
> +                          FAULT_DQUOT_INIT                 0x00010000
> +                          FAULT_LOCK_OP                    0x00020000
> +                          FAULT_BLKADDR_VALIDITY           0x00040000
> +                          FAULT_BLKADDR_CONSISTENCE        0x00080000
> +                          FAULT_NO_SEGMENT                 0x00100000
> +                          FAULT_INCONSISTENT_FOOTER        0x00200000
> +                          FAULT_TIMEOUT                    0x00400000 
> (1000ms)
> +                          FAULT_VMALLOC                    0x00800000
> +                          ===========================      ==========
>  mode=%s                       Control block allocation mode which supports 
> "adaptive"
>                        and "lfs". In "lfs" mode, there should be no random
>                        writes towards main area.
> @@ -296,14 +298,15 @@ nocheckpoint_merge       Disable checkpoint merge 
> feature.
>  compress_algorithm=%s         Control compress algorithm, currently f2fs 
> supports "lzo",
>                        "lz4", "zstd" and "lzo-rle" algorithm.
>  compress_algorithm=%s:%d Control compress algorithm and its compress level, 
> now, only
> -                      "lz4" and "zstd" support compress level config.
> -
> -                         =========      ===========
> -                      algorithm      level range
> -                         =========      ===========
> -                      lz4            3 - 16
> -                      zstd           1 - 22
> -                         =========      ===========
> +                      "lz4" and "zstd" support compress level config::
> +
> +                              =========      ===========
> +                              algorithm      level range
> +                              =========      ===========
> +                              lz4            3 - 16
> +                              zstd           1 - 22
> +                              =========      ===========
> +
>  compress_log_size=%u  Support configuring compress cluster size. The size 
> will
>                        be 4KB * (1 << %u). The default and minimum sizes are 
> 16KB.
>  compress_extension=%s         Support adding specified extension, so that 
> f2fs can enable
> @@ -368,38 +371,42 @@ errors=%s                Specify f2fs behavior on 
> critical errors. This supports modes:
>                        the partition in read-only mode. By default it uses 
> "continue"
>                        mode.
>  
> -                      ====================== =============== =============== 
> ========
> -                      mode                   continue        remount-ro      
> panic
> -                      ====================== =============== =============== 
> ========
> -                      access ops             normal          normal          
> N/A
> -                      syscall errors         -EIO            -EROFS          
> N/A
> -                      mount option           rw              ro              
> N/A
> -                      pending dir write      keep            keep            
> N/A
> -                      pending non-dir write  drop            keep            
> N/A
> -                      pending node write     drop            keep            
> N/A
> -                      pending meta write     keep            keep            
> N/A
> -                      ====================== =============== =============== 
> ========
> +                      .. code-block:: none
> +
> +                          ====================== =============== 
> =============== ========
> +                          mode              continue        remount-ro      
> panic
> +                          ====================== =============== 
> =============== ========
> +                          access ops        normal          normal          
> N/A
> +                          syscall errors    -EIO            -EROFS          
> N/A
> +                          mount option      rw              ro              
> N/A
> +                          pending dir write keep            keep            
> N/A
> +                          pending non-dir write drop        keep            
> N/A
> +                          pending node write drop           keep            
> N/A
> +                          pending meta write keep           keep            
> N/A
> +                          ====================== =============== 
> =============== ========
>  nat_bits              Enable nat_bits feature to enhance full/empty nat 
> blocks access,
>                        by default it's disabled.
>  lookup_mode=%s                Control the directory lookup behavior for 
> casefolded
>                        directories. This option has no effect on directories
>                        that do not have the casefold feature enabled.
>  
> -                      ================== 
> ========================================
> -                      Value              Description
> -                      ================== 
> ========================================
> -                      perf               (Default) Enforces a hash-only 
> lookup.
> +                      .. code-block:: none
> +
> +                          ================== 
> ========================================
> +                          Value            Description
> +                          ================== 
> ========================================
> +                          perf            (Default) Enforces a hash-only 
> lookup.
>                                           The linear search fallback is always
>                                           disabled, ignoring the on-disk flag.
> -                      compat             Enables the linear search fallback 
> for
> +                          compat          Enables the linear search fallback 
> for
>                                           compatibility with directory entries
>                                           created by older kernel that used a
>                                           different case-folding algorithm.
>                                           This mode ignores the on-disk flag.
> -                      auto               F2FS determines the mode based on 
> the
> +                          auto            F2FS determines the mode based on 
> the
>                                           on-disk 
> `SB_ENC_NO_COMPAT_FALLBACK_FL`
>                                           flag.
> -                      ================== 
> ========================================
> +                          ================== 
> ========================================

Umm, this doesn't look right.  Just build htmldocs and have a look at
how these nested literal tables are rendered.
Sphinx doesn't complain about misaligned cells in literal blocks.

Thanks, Akira


>  ======================== 
> ============================================================
>  
>  Debugfs Entries



_______________________________________________
Linux-f2fs-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

Reply via email to