22 Aug, 2020

1 commit

  • Pull ext4 updates from Ted Ts'o:
    "Improvements to ext4's block allocator performance for very large file
    systems, especially when the file system or files which are highly
    fragmented. There is a new mount option, prefetch_block_bitmaps which
    will pull in the block bitmaps and set up the in-memory buddy bitmaps
    when the file system is initially mounted.

    Beyond that, a lot of bug fixes and cleanups. In particular, a number
    of changes to make ext4 more robust in the face of write errors or
    file system corruptions"

    * tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (46 commits)
    ext4: limit the length of per-inode prealloc list
    ext4: reorganize if statement of ext4_mb_release_context()
    ext4: add mb_debug logging when there are lost chunks
    ext4: Fix comment typo "the the".
    jbd2: clean up checksum verification in do_one_pass()
    ext4: change to use fallthrough macro
    ext4: remove unused parameter of ext4_generic_delete_entry function
    mballoc: replace seq_printf with seq_puts
    ext4: optimize the implementation of ext4_mb_good_group()
    ext4: delete invalid comments near ext4_mb_check_limits()
    ext4: fix typos in ext4_mb_regular_allocator() comment
    ext4: fix checking of directory entry validity for inline directories
    fs: prevent BUG_ON in submit_bh_wbc()
    ext4: correctly restore system zone info when remount fails
    ext4: handle add_system_zone() failure in ext4_setup_system_zone()
    ext4: fold ext4_data_block_valid_rcu() into the caller
    ext4: check journal inode extents more carefully
    ext4: don't allow overlapping system zones
    ext4: handle error of ext4_setup_system_zone() on remount
    ext4: delete the invalid BUGON in ext4_mb_load_buddy_gfp()
    ...

    Linus Torvalds
     

20 Aug, 2020

1 commit

  • In the scenario of writing sparse files, the per-inode prealloc list may
    be very long, resulting in high overhead for ext4_mb_use_preallocated().
    To circumvent this problem, we limit the maximum length of per-inode
    prealloc list to 512 and allow users to modify it.

    After patching, we observed that the sys ratio of cpu has dropped, and
    the system throughput has increased significantly. We created a process
    to write the sparse file, and the running time of the process on the
    fixed kernel was significantly reduced, as follows:

    Running time on unfixed kernel:
    [root@TENCENT64 ~]# time taskset 0x01 ./sparse /data1/sparce.dat
    real 0m2.051s
    user 0m0.008s
    sys 0m2.026s

    Running time on fixed kernel:
    [root@TENCENT64 ~]# time taskset 0x01 ./sparse /data1/sparce.dat
    real 0m0.471s
    user 0m0.004s
    sys 0m0.395s

    Signed-off-by: Chunguang Xu
    Link: https://lore.kernel.org/r/d7a98178-056b-6db5-6bce-4ead23f4a257@gmail.com
    Signed-off-by: Theodore Ts'o

    brookxu
     

06 Aug, 2020

1 commit

  • Don't define EXT4_IOC_* aliases to ioctls that already have a generic
    FS_IOC_* name. These aliases are unnecessary, and they make it unclear
    which ioctls are ext4-specific and which are generic.

    Exception: leave EXT4_IOC_GETVERSION_OLD and EXT4_IOC_SETVERSION_OLD
    as-is for now, since renaming them to FS_IOC_GETVERSION and
    FS_IOC_SETVERSION would probably make them more likely to be confused
    with EXT4_IOC_GETVERSION and EXT4_IOC_SETVERSION which also exist.

    Signed-off-by: Eric Biggers
    Reviewed-by: Jan Kara
    Link: https://lore.kernel.org/r/20200714230909.56349-1-ebiggers@kernel.org
    Signed-off-by: Theodore Ts'o

    Eric Biggers
     

05 Aug, 2020

1 commit

  • Pull documentation updates from Jonathan Corbet:
    "It's been a busy cycle for documentation - hopefully the busiest for a
    while to come. Changes include:

    - Some new Chinese translations

    - Progress on the battle against double words words and non-HTTPS
    URLs

    - Some block-mq documentation

    - More RST conversions from Mauro. At this point, that task is
    essentially complete, so we shouldn't see this kind of churn again
    for a while. Unless we decide to switch to asciidoc or
    something...:)

    - Lots of typo fixes, warning fixes, and more"

    * tag 'docs-5.9' of git://git.lwn.net/linux: (195 commits)
    scripts/kernel-doc: optionally treat warnings as errors
    docs: ia64: correct typo
    mailmap: add entry for
    doc/zh_CN: add cpu-load Chinese version
    Documentation/admin-guide: tainted-kernels: fix spelling mistake
    MAINTAINERS: adjust kprobes.rst entry to new location
    devices.txt: document rfkill allocation
    PCI: correct flag name
    docs: filesystems: vfs: correct flag name
    docs: filesystems: vfs: correct sync_mode flag names
    docs: path-lookup: markup fixes for emphasis
    docs: path-lookup: more markup fixes
    docs: path-lookup: fix HTML entity mojibake
    CREDITS: Replace HTTP links with HTTPS ones
    docs: process: Add an example for creating a fixes tag
    doc/zh_CN: add Chinese translation prefer section
    doc/zh_CN: add clearing-warn-once Chinese version
    doc/zh_CN: add admin-guide index
    doc:it_IT: process: coding-style.rst: Correct __maybe_unused compiler label
    futex: MAINTAINERS: Re-add selftests directory
    ...

    Linus Torvalds
     

09 Jul, 2020

1 commit

  • Wire up ext4 to support inline encryption via the helper functions which
    fs/crypto/ now provides. This includes:

    - Adding a mount option 'inlinecrypt' which enables inline encryption
    on encrypted files where it can be used.

    - Setting the bio_crypt_ctx on bios that will be submitted to an
    inline-encrypted file.

    Note: submit_bh_wbc() in fs/buffer.c also needed to be patched for
    this part, since ext4 sometimes uses ll_rw_block() on file data.

    - Not adding logically discontiguous data to bios that will be submitted
    to an inline-encrypted file.

    - Not doing filesystem-layer crypto on inline-encrypted files.

    Co-developed-by: Satya Tangirala
    Signed-off-by: Satya Tangirala
    Reviewed-by: Theodore Ts'o
    Link: https://lore.kernel.org/r/20200702015607.1215430-5-satyat@google.com
    Signed-off-by: Eric Biggers

    Eric Biggers
     

06 Jul, 2020

1 commit

  • Rationale:
    Reduces attack surface on kernel devs opening the links for MITM
    as HTTPS traffic is much harder to manipulate.

    Deterministic algorithm:
    For each file:
    If not .svg:
    For each line:
    If doesn't contain `\bxmlns\b`:
    For each link, `\bhttp://[^# \t\r\n]*(?:\w|/)`:
    If both the HTTP and HTTPS versions
    return 200 OK and serve the same content:
    Replace HTTP with HTTPS.

    Signed-off-by: Alexander A. Klimov
    Link: https://lore.kernel.org/r/20200627072935.62652-1-grandmaster@al2klimov.de
    Signed-off-by: Jonathan Corbet

    Alexander A. Klimov
     

18 Jan, 2020

1 commit


22 Dec, 2019

1 commit

  • The description of 'commit' mount option dates back to ext3 times.
    Update the description to match current meaning for ext4.

    Reported-by: Paul Richards
    Signed-off-by: Jan Kara
    Link: https://lore.kernel.org/r/20191218111210.14161-1-jack@suse.cz
    Signed-off-by: Theodore Ts'o

    Jan Kara
     

26 Apr, 2019

1 commit


06 Oct, 2018

1 commit