10 Sep, 2020

1 commit

  • commit d3a84a8d0dde4e26bc084b36ffcbdc5932ac85e2 upstream.

    The basic permission bits (protection bits in AmigaOS) have been broken
    in Linux' AFFS - it would only set bits, but never delete them.
    Also, contrary to the documentation, the Archived bit was not handled.

    Let's fix this for good, and set the bits such that Linux and classic
    AmigaOS can coexist in the most peaceful manner.

    Also, update the documentation to represent the current state of things.

    Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
    Cc: stable@vger.kernel.org
    Signed-off-by: Max Staudt
    Signed-off-by: David Sterba
    Signed-off-by: Greg Kroah-Hartman

    Max Staudt
     

18 Mar, 2020

1 commit

  • commit d9a9f4849fe0c9d560851ab22a85a666cddfdd24 upstream.

    several iterations of ->atomic_open() calling conventions ago, we
    used to need fput() if ->atomic_open() failed at some point after
    successful finish_open(). Now (since 2016) it's not needed -
    struct file carries enough state to make fput() work regardless
    of the point in struct file lifecycle and discarding it on
    failure exits in open() got unified. Unfortunately, I'd missed
    the fact that we had an instance of ->atomic_open() (cifs one)
    that used to need that fput(), as well as the stale comment in
    finish_open() demanding such late failure handling. Trivially
    fixed...

    Fixes: fe9ec8291fca "do_last(): take fput() on error after opening to out:"
    Cc: stable@kernel.org # v4.7+
    Signed-off-by: Al Viro
    Signed-off-by: Greg Kroah-Hartman

    Al Viro
     

28 Sep, 2019

1 commit

  • Pull fuse virtio-fs support from Miklos Szeredi:
    "Virtio-fs allows exporting directory trees on the host and mounting
    them in guest(s).

    This isn't actually a new filesystem, but a glue layer between the
    fuse filesystem and a virtio based back-end.

    It's similar in functionality to the existing virtio-9p solution, but
    significantly faster in benchmarks and has better POSIX compliance.
    Further permformance improvements can be achieved by sharing the page
    cache between host and guest, allowing for faster I/O and reduced
    memory use.

    Kata Containers have been including the out-of-tree virtio-fs (with
    the shared page cache patches as well) since version 1.7 as an
    experimental feature. They have been active in development and plan to
    switch from virtio-9p to virtio-fs as their default solution. There
    has been interest from other sources as well.

    The userspace infrastructure is slated to be merged into qemu once the
    kernel part hits mainline.

    This was developed by Vivek Goyal, Dave Gilbert and Stefan Hajnoczi"

    * tag 'virtio-fs-5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse:
    virtio-fs: add virtiofs filesystem
    virtio-fs: add Documentation/filesystems/virtiofs.rst
    fuse: reserve values for mapping protocol

    Linus Torvalds
     

26 Sep, 2019

1 commit

  • Pull ceph updates from Ilya Dryomov:
    "The highlights are:

    - automatic recovery of a blacklisted filesystem session (Zheng Yan).
    This is disabled by default and can be enabled by mounting with the
    new "recover_session=clean" option.

    - serialize buffered reads and O_DIRECT writes (Jeff Layton). Care is
    taken to avoid serializing O_DIRECT reads and writes with each
    other, this is based on the exclusion scheme from NFS.

    - handle large osdmaps better in the face of fragmented memory
    (myself)

    - don't limit what security.* xattrs can be get or set (Jeff Layton).
    We were overly restrictive here, unnecessarily preventing things
    like file capability sets stored in security.capability from
    working.

    - allow copy_file_range() within the same inode and across different
    filesystems within the same cluster (Luis Henriques)"

    * tag 'ceph-for-5.4-rc1' of git://github.com/ceph/ceph-client: (41 commits)
    ceph: call ceph_mdsc_destroy from destroy_fs_client
    libceph: use ceph_kvmalloc() for osdmap arrays
    libceph: avoid a __vmalloc() deadlock in ceph_kvmalloc()
    ceph: allow object copies across different filesystems in the same cluster
    ceph: include ceph_debug.h in cache.c
    ceph: move static keyword to the front of declarations
    rbd: pull rbd_img_request_create() dout out into the callers
    ceph: reconnect connection if session hang in opening state
    libceph: drop unused con parameter of calc_target()
    ceph: use release_pages() directly
    rbd: fix response length parameter for encoded strings
    ceph: allow arbitrary security.* xattrs
    ceph: only set CEPH_I_SEC_INITED if we got a MAC label
    ceph: turn ceph_security_invalidate_secctx into static inline
    ceph: add buffered/direct exclusionary locking for reads and writes
    libceph: handle OSD op ceph_pagelist_append() errors
    ceph: don't return a value from void function
    ceph: don't freeze during write page faults
    ceph: update the mtime when truncating up
    ceph: fix indentation in __get_snap_name()
    ...

    Linus Torvalds
     

22 Sep, 2019

2 commits

  • Pull f2fs updates from Jaegeuk Kim:
    "In this round, we introduced casefolding support in f2fs, and fixed
    various bugs in individual features such as IO alignment,
    checkpoint=disable, quota, and swapfile.

    Enhancement:
    - support casefolding w/ enhancement in ext4
    - support fiemap for directory
    - support FS_IO_GET|SET_FSLABEL

    Bug fix:
    - fix IO stuck during checkpoint=disable
    - avoid infinite GC loop
    - fix panic/overflow related to IO alignment feature
    - fix livelock in swap file
    - fix discard command leak
    - disallow dio for atomic_write"

    * tag 'f2fs-for-5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs: (51 commits)
    f2fs: add a condition to detect overflow in f2fs_ioc_gc_range()
    f2fs: fix to add missing F2FS_IO_ALIGNED() condition
    f2fs: fix to fallback to buffered IO in IO aligned mode
    f2fs: fix to handle error path correctly in f2fs_map_blocks
    f2fs: fix extent corrupotion during directIO in LFS mode
    f2fs: check all the data segments against all node ones
    f2fs: Add a small clarification to CONFIG_FS_F2FS_FS_SECURITY
    f2fs: fix inode rwsem regression
    f2fs: fix to avoid accessing uninitialized field of inode page in is_alive()
    f2fs: avoid infinite GC loop due to stale atomic files
    f2fs: Fix indefinite loop in f2fs_gc()
    f2fs: convert inline_data in prior to i_size_write
    f2fs: fix error path of f2fs_convert_inline_page()
    f2fs: add missing documents of reserve_root/resuid/resgid
    f2fs: fix flushing node pages when checkpoint is disabled
    f2fs: enhance f2fs_is_checkpoint_ready()'s readability
    f2fs: clean up __bio_alloc()'s parameter
    f2fs: fix wrong error injection path in inc_valid_block_count()
    f2fs: fix to writeout dirty inode during node flush
    f2fs: optimize case-insensitive lookups
    ...

    Linus Torvalds
     
  • Pull ext4 updates from Ted Ts'o:
    "Added new ext4 debugging ioctls to allow userspace to get information
    about the state of the extent status cache.

    Dropped workaround for pre-1970 dates which were encoded incorrectly
    in pre-4.4 kernels. Since both the kernel correctly generates, and
    e2fsck detects and fixes this issue for the past four years, it'e time
    to drop the workaround. (Also, it's not like files with dates in the
    distant past were all that common in the first place.)

    A lot of miscellaneous bug fixes and cleanups, including some ext4
    Documentation fixes. Also included are two minor bug fixes in
    fs/unicode"

    * tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (21 commits)
    unicode: make array 'token' static const, makes object smaller
    unicode: Move static keyword to the front of declarations
    ext4: add missing bigalloc documentation.
    ext4: fix kernel oops caused by spurious casefold flag
    ext4: fix integer overflow when calculating commit interval
    ext4: use percpu_counters for extent_status cache hits/misses
    ext4: fix potential use after free after remounting with noblock_validity
    jbd2: add missing tracepoint for reserved handle
    ext4: fix punch hole for inline_data file systems
    ext4: rework reserved cluster accounting when invalidating pages
    ext4: documentation fixes
    ext4: treat buffers with write errors as containing valid data
    ext4: fix warning inside ext4_convert_unwritten_extents_endio
    ext4: set error return correctly when ext4_htree_store_dirent fails
    ext4: drop legacy pre-1970 encoding workaround
    ext4: add new ioctl EXT4_IOC_GET_ES_CACHE
    ext4: add a new ioctl EXT4_IOC_GETSTATE
    ext4: add a new ioctl EXT4_IOC_CLEAR_ES_CACHE
    jbd2: flush_descriptor(): Do not decrease buffer head's ref count
    ext4: remove unnecessary error check
    ...

    Linus Torvalds
     

20 Sep, 2019

1 commit

  • Pull cifs updates from Steve French:
    "Various cifs/smb3 fixes (including for share deleted cases) and
    features including improved encrypted read performance, and various
    debugging improvements.

    Note that since I am at a test event this week with the Samba team,
    and at the annual Storage Developer Conference/SMB3 Plugfest test
    event next week a higher than usual number of fixes is expected later
    next week as other features in progress get additional testing and
    review during these two events"

    * tag '5.4-smb3-fixes' of git://git.samba.org/sfrench/cifs-2.6: (38 commits)
    cifs: update internal module version number
    cifs: modefromsid: write mode ACE first
    cifs: cifsroot: add more err checking
    smb3: add missing worker function for SMB3 change notify
    cifs: Add support for root file systems
    cifs: modefromsid: make room for 4 ACE
    smb3: fix potential null dereference in decrypt offload
    smb3: fix unmount hang in open_shroot
    smb3: allow disabling requesting leases
    smb3: improve handling of share deleted (and share recreated)
    smb3: display max smb3 requests in flight at any one time
    smb3: only offload decryption of read responses if multiple requests
    cifs: add a helper to find an existing readable handle to a file
    smb3: enable offload of decryption of large reads via mount option
    smb3: allow parallelizing decryption of reads
    cifs: add a debug macro that prints \\server\share for errors
    smb3: fix signing verification of large reads
    smb3: allow skipping signature verification for perf sensitive configurations
    smb3: add dynamic tracepoints for flush and close
    smb3: log warning if CSC policy conflicts with cache mount option
    ...

    Linus Torvalds
     

19 Sep, 2019

5 commits

  • Pull overlayfs fixes from Miklos Szeredi:
    "Fix a regression in docker introduced by overlayfs changes in 4.19.
    Also fix a couple of miscellaneous bugs"

    * tag 'ovl-fixes-5.3' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs:
    ovl: filter of trusted xattr results in audit
    ovl: Fix dereferencing possible ERR_PTR()
    ovl: fix regression caused by overlapping layers detection

    Linus Torvalds
     
  • Pull fs-verity support from Eric Biggers:
    "fs-verity is a filesystem feature that provides Merkle tree based
    hashing (similar to dm-verity) for individual readonly files, mainly
    for the purpose of efficient authenticity verification.

    This pull request includes:

    (a) The fs/verity/ support layer and documentation.

    (b) fs-verity support for ext4 and f2fs.

    Compared to the original fs-verity patchset from last year, the UAPI
    to enable fs-verity on a file has been greatly simplified. Lots of
    other things were cleaned up too.

    fs-verity is planned to be used by two different projects on Android;
    most of the userspace code is in place already. Another userspace tool
    ("fsverity-utils"), and xfstests, are also available. e2fsprogs and
    f2fs-tools already have fs-verity support. Other people have shown
    interest in using fs-verity too.

    I've tested this on ext4 and f2fs with xfstests, both the existing
    tests and the new fs-verity tests. This has also been in linux-next
    since July 30 with no reported issues except a couple minor ones I
    found myself and folded in fixes for.

    Ted and I will be co-maintaining fs-verity"

    * tag 'fsverity-for-linus' of git://git.kernel.org/pub/scm/fs/fscrypt/fscrypt:
    f2fs: add fs-verity support
    ext4: update on-disk format documentation for fs-verity
    ext4: add fs-verity read support
    ext4: add basic fs-verity support
    fs-verity: support builtin file signatures
    fs-verity: add SHA-512 support
    fs-verity: implement FS_IOC_MEASURE_VERITY ioctl
    fs-verity: implement FS_IOC_ENABLE_VERITY ioctl
    fs-verity: add data verification hooks for ->readpages()
    fs-verity: add the hook for file ->setattr()
    fs-verity: add the hook for file ->open()
    fs-verity: add inode and superblock fields
    fs-verity: add Kconfig and the helper functions for hashing
    fs: uapi: define verity bit for FS_IOC_GETFLAGS
    fs-verity: add UAPI header
    fs-verity: add MAINTAINERS file entry
    fs-verity: add a documentation file

    Linus Torvalds
     
  • Pull fscrypt updates from Eric Biggers:
    "This is a large update to fs/crypto/ which includes:

    - Add ioctls that add/remove encryption keys to/from a
    filesystem-level keyring.

    These fix user-reported issues where e.g. an encrypted home
    directory can break NetworkManager, sshd, Docker, etc. because they
    don't get access to the needed keyring. These ioctls also provide a
    way to lock encrypted directories that doesn't use the
    vm.drop_caches sysctl, so is faster, more reliable, and doesn't
    always need root.

    - Add a new encryption policy version ("v2") which switches to a more
    standard, secure, and flexible key derivation function, and starts
    verifying that the correct key was supplied before using it.

    The key derivation improvement is needed for its own sake as well
    as for ongoing feature work for which the current way is too
    inflexible.

    Work is in progress to update both Android and the 'fscrypt' userspace
    tool to use both these features. (Working patches are available and
    just need to be reviewed+merged.) Chrome OS will likely use them too.

    This has also been tested on ext4, f2fs, and ubifs with xfstests --
    both the existing encryption tests, and the new tests for this. This
    has also been in linux-next since Aug 16 with no reported issues. I'm
    also using an fscrypt v2-encrypted home directory on my personal
    desktop"

    * tag 'fscrypt-for-linus' of git://git.kernel.org/pub/scm/fs/fscrypt/fscrypt: (27 commits)
    ext4 crypto: fix to check feature status before get policy
    fscrypt: document the new ioctls and policy version
    ubifs: wire up new fscrypt ioctls
    f2fs: wire up new fscrypt ioctls
    ext4: wire up new fscrypt ioctls
    fscrypt: require that key be added when setting a v2 encryption policy
    fscrypt: add FS_IOC_REMOVE_ENCRYPTION_KEY_ALL_USERS ioctl
    fscrypt: allow unprivileged users to add/remove keys for v2 policies
    fscrypt: v2 encryption policy support
    fscrypt: add an HKDF-SHA512 implementation
    fscrypt: add FS_IOC_GET_ENCRYPTION_KEY_STATUS ioctl
    fscrypt: add FS_IOC_REMOVE_ENCRYPTION_KEY ioctl
    fscrypt: add FS_IOC_ADD_ENCRYPTION_KEY ioctl
    fscrypt: rename keyinfo.c to keysetup.c
    fscrypt: move v1 policy key setup to keysetup_v1.c
    fscrypt: refactor key setup code in preparation for v2 policies
    fscrypt: rename fscrypt_master_key to fscrypt_direct_key
    fscrypt: add ->ci_inode to fscrypt_info
    fscrypt: use FSCRYPT_* definitions, not FS_*
    fscrypt: use FSCRYPT_ prefix for uapi constants
    ...

    Linus Torvalds
     
  • Pull file locking updates from Jeff Layton:
    "Just a couple of minor bugfixes, a revision to a tracepoint to account
    for some earlier changes to the internals, and a patch to add a
    pr_warn message when someone tries to mount a filesystem with '-o
    mand' on a kernel that has that support disabled"

    * tag 'filelock-v5.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/jlayton/linux:
    locks: fix a memory leak bug in __break_lease()
    locks: print a warning when mount fails due to lack of "mand" support
    locks: Fix procfs output for file leases
    locks: revise generic_add_lease tracepoint

    Linus Torvalds
     
  • Pull staging and IIO driver updates from Greg KH:
    "Here is the big staging/iio driver update for 5.4-rc1.

    Lots of churn here, with a few driver/filesystems moving out of
    staging finally:

    - erofs moved out of staging

    - greybus core code moved out of staging

    Along with that, a new filesytem has been added:

    - extfat

    to provide support for those devices requiring that filesystem (i.e.
    transfer devices to/from windows systems or printers)

    Other than that, there a number of new IIO drivers, and lots and lots
    and lots of staging driver cleanups and minor fixes as people continue
    to dig into those for easy changes.

    All of these have been in linux-next for a while with no reported
    issues"

    * tag 'staging-5.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (453 commits)
    Staging: gasket: Use temporaries to reduce line length.
    Staging: octeon: Avoid several usecases of strcpy
    staging: vhciq_core: replace snprintf with scnprintf
    staging: wilc1000: avoid twice IRQ handler execution for each single interrupt
    staging: wilc1000: remove unused interrupt status handling code
    staging: fbtft: make several arrays static const, makes object smaller
    staging: rtl8188eu: make two arrays static const, makes object smaller
    staging: rtl8723bs: core: Remove Macro "IS_MAC_ADDRESS_BROADCAST"
    dt-bindings: anybus-controller: move to staging/ tree
    staging: emxx_udc: remove local TRUE/FALSE definition
    staging: wilc1000: look for rtc_clk clock
    staging: dt-bindings: wilc1000: add optional rtc_clk property
    staging: nvec: make use of devm_platform_ioremap_resource
    staging: exfat: drop unused function parameter
    Staging: exfat: Avoid use of strcpy
    staging: exfat: use integer constants
    staging: exfat: cleanup spacing for casts
    staging: exfat: cleanup spacing for operators
    staging: rtl8723bs: hal: remove redundant variable n
    staging: pi433: Fix typo in documentation
    ...

    Linus Torvalds
     

18 Sep, 2019

1 commit


17 Sep, 2019

1 commit

  • Introduce a new CONFIG_CIFS_ROOT option to handle root file systems
    over a SMB share.

    In order to mount the root file system during the init process, make
    cifs.ko perform non-blocking socket operations while mounting and
    accessing it.

    Cc: Steve French
    Reviewed-by: Aurelien Aptel
    Signed-off-by: Paulo Alcantara (SUSE)
    Signed-off-by: Steve French

    Paulo Alcantara (SUSE)
     

16 Sep, 2019

1 commit

  • Make client use osd reply and session message to infer if itself is
    blacklisted. Client reconnect to cluster using new entity addr if it
    is blacklisted. Auto reconnect is limited to once every 30 minutes.

    Auto reconnect is disabled by default. It can be enabled/disabled by
    recover_session= mount option. In 'clean' mode, client drops
    any dirty data/metadata, invalidates page caches and invalidates all
    writable file handles. After reconnect, file locks become stale because
    MDS loses track of them. If an inode contains any stale file locks,
    read/write on the indoe are not allowed until applications release all
    stale file locks.

    Signed-off-by: "Yan, Zheng"
    Reviewed-by: Jeff Layton
    Signed-off-by: Ilya Dryomov

    Yan, Zheng
     

07 Sep, 2019

2 commits

  • There was a broken link for bigalloc. The page
    https://ext4.wiki.kernel.org/index.php/Bigalloc was not migrated into
    the current documentation sources. This patch adds the contents of
    that missing page into the section for Bigalloc itself.

    Signed-off-by: Ayush Ranjan
    Link: https://lore.kernel.org/r/20190831154419.GA30357@fa19-cs241-404.cs.illinois.edu
    Signed-off-by: Theodore Ts'o

    Ayush Ranjan
     
  • Add missing documents.

    Fixes: 7e65be49ed94f ("f2fs: add reserved blocks for root user")
    Fixes: 7c2e59632b846 ("f2fs: add resgid and resuid to reserve root blocks")
    Signed-off-by: Chao Yu
    Signed-off-by: Jaegeuk Kim

    Chao Yu
     

06 Sep, 2019

2 commits

  • As Christoph said [1],
    "vm_map_ram is supposed to generally behave better. So if
    it doesn't please report that that to the arch maintainer
    and linux-mm so that they can look into the issue. Having
    user make choices of deep down kernel internals is just
    a horrible interface.

    Please talk to maintainers of other bits of the kernel
    if you see issues and / or need enhancements. "

    Let's redo the previous conclusion and kill the vmap
    approach.

    [1] https://lore.kernel.org/r/20190830165533.GA10909@infradead.org/
    Reported-by: Christoph Hellwig
    Signed-off-by: Gao Xiang
    Link: https://lore.kernel.org/r/20190904020912.63925-21-gaoxiang25@huawei.com
    Signed-off-by: Greg Kroah-Hartman

    Gao Xiang
     
  • As Christoph suggested [1], "Please just use plain kmalloc
    everywhere and let the normal kernel error injection code
    take care of injeting any errors."

    [1] https://lore.kernel.org/r/20190829102426.GE20598@infradead.org/
    Reported-by: Christoph Hellwig
    Signed-off-by: Gao Xiang
    Link: https://lore.kernel.org/r/20190904020912.63925-20-gaoxiang25@huawei.com
    Signed-off-by: Greg Kroah-Hartman

    Gao Xiang
     

31 Aug, 2019

1 commit

  • When getting fscrypt policy via EXT4_IOC_GET_ENCRYPTION_POLICY, if
    encryption feature is off, it's better to return EOPNOTSUPP instead of
    ENODATA, so let's add ext4_has_feature_encrypt() to do the check for
    that.

    This makes it so that all fscrypt ioctls consistently check for the
    encryption feature, and makes ext4 consistent with f2fs in this regard.

    Signed-off-by: Chao Yu
    [EB - removed unneeded braces, updated the documentation, and
    added more explanation to commit message]
    Signed-off-by: Eric Biggers

    Chao Yu
     

24 Aug, 2019

1 commit

  • EROFS filesystem has been merged into linux-staging for a year.

    EROFS is designed to be a better solution of saving extra storage
    space with guaranteed end-to-end performance for read-only files
    with the help of reduced metadata, fixed-sized output compression
    and decompression inplace technologies.

    In the past year, EROFS was greatly improved by many people as
    a staging driver, self-tested, betaed by a large number of our
    internal users, successfully applied to almost all in-service
    HUAWEI smartphones as the part of EMUI 9.1 and proven to be stable
    enough to be moved out of staging.

    EROFS is a self-contained filesystem driver. Although there are
    still some TODOs to be more generic, we have a dedicated team
    actively keeping on working on EROFS in order to make it better
    with the evolution of Linux kernel as the other in-kernel filesystems.

    As Pavel suggested, it's better to do as one commit since git
    can do moves and all histories will be saved in this way.

    Let's promote it from staging and enhance it more actively as
    a "real" part of kernel for more wider scenarios!

    Cc: Greg Kroah-Hartman
    Cc: Alexander Viro
    Cc: Andrew Morton
    Cc: Stephen Rothwell
    Cc: Theodore Ts'o
    Cc: Pavel Machek
    Cc: David Sterba
    Cc: Amir Goldstein
    Cc: Christoph Hellwig
    Cc: Darrick J . Wong
    Cc: Dave Chinner
    Cc: Jaegeuk Kim
    Cc: Jan Kara
    Cc: Richard Weinberger
    Cc: Linus Torvalds
    Cc: Chao Yu
    Cc: Miao Xie
    Cc: Li Guifu
    Cc: Fang Wei
    Signed-off-by: Gao Xiang
    Link: https://lore.kernel.org/r/20190822213659.5501-1-hsiangkao@aol.com
    Signed-off-by: Greg Kroah-Hartman

    Gao Xiang
     

23 Aug, 2019

2 commits

  • Add charset encoding to f2fs to support casefolding. It is modeled after
    the same feature introduced in commit c83ad55eaa91 ("ext4: include charset
    encoding information in the superblock")

    Currently this is not compatible with encryption, similar to the current
    ext4 imlpementation. This will change in the future.

    >From the ext4 patch:
    """
    The s_encoding field stores a magic number indicating the encoding
    format and version used globally by file and directory names in the
    filesystem. The s_encoding_flags defines policies for using the charset
    encoding, like how to handle invalid sequences. The magic number is
    mapped to the exact charset table, but the mapping is specific to ext4.
    Since we don't have any commitment to support old encodings, the only
    encoding I am supporting right now is utf8-12.1.0.

    The current implementation prevents the user from enabling encoding and
    per-directory encryption on the same filesystem at the same time. The
    incompatibility between these features lies in how we do efficient
    directory searches when we cannot be sure the encryption of the user
    provided fname will match the actual hash stored in the disk without
    decrypting every directory entry, because of normalization cases. My
    quickest solution is to simply block the concurrent use of these
    features for now, and enable it later, once we have a better solution.
    """

    Signed-off-by: Daniel Rosenberg
    Reviewed-by: Chao Yu
    Signed-off-by: Jaegeuk Kim

    Daniel Rosenberg
     
  • This commit aims to fix the following issues in ext4 documentation:
    - Flexible block group docs said that the aim was to group block
    metadata together instead of block group metadata.
    - The documentation consistly uses "location" instead of "block number".
    It is easy to confuse location to be an absolute offset on disk. Added
    a line to clarify all location values are in terms of block numbers.
    - Dirent2 docs said that the rec_len field is shortened instead of the
    name_len field.
    - Typo in bg_checksum description.
    - Inode size is 160 bytes now, and hence i_extra_isize is now 32.
    - Cluster size formula was incorrect, it did not include the +10 to
    s_log_cluster_size value.
    - Typo: there were two s_wtime_hi in the superblock struct.
    - Superblock struct was outdated, added the new fields which were part
    of s_reserved earlier.
    - Multiple mount protection seems to be implemented in fs/ext4/mmp.c.

    Signed-off-by: Ayush Ranjan
    Signed-off-by: Theodore Ts'o
    Reviewed-by: Andreas Dilger

    Ayush Ranjan
     

17 Aug, 2019

1 commit

  • Since 9e8925b67a ("locks: Allow disabling mandatory locking at compile
    time"), attempts to mount filesystems with "-o mand" will fail.
    Unfortunately, there is no other indiciation of the reason for the
    failure.

    Change how the function is defined for better readability. When
    CONFIG_MANDATORY_FILE_LOCKING is disabled, printk a warning when
    someone attempts to mount with -o mand.

    Also, add a blurb to the mandatory-locking.txt file to explain about
    the "mand" option, and the behavior one should expect when it is
    disabled.

    Reported-by: Jan Kara
    Reviewed-by: Jan Kara
    Signed-off-by: Jeff Layton

    Jeff Layton
     

13 Aug, 2019

3 commits

  • Document the format of verity files on ext4, and the corresponding inode
    and superblock flags.

    Reviewed-by: Theodore Ts'o
    Signed-off-by: Eric Biggers

    Eric Biggers
     
  • Update the fscrypt documentation file to catch up to all the latest
    changes, including the new ioctls to manage master encryption keys in
    the filesystem-level keyring and the support for v2 encryption policies.

    Reviewed-by: Theodore Ts'o
    Signed-off-by: Eric Biggers

    Eric Biggers
     
  • Prefix all filesystem encryption UAPI constants except the ioctl numbers
    with "FSCRYPT_" rather than with "FS_". This namespaces the constants
    more appropriately and makes it clear that they are related specifically
    to the filesystem encryption feature, and to the 'fscrypt_*' structures.
    With some of the old names like "FS_POLICY_FLAGS_VALID", it was not
    immediately clear that the constant had anything to do with encryption.

    This is also useful because we'll be adding more encryption-related
    constants, e.g. for the policy version, and we'd otherwise have to
    choose whether to use unclear names like FS_POLICY_V1 or inconsistent
    names like FS_ENCRYPTION_POLICY_V1.

    For source compatibility with existing userspace programs, keep the old
    names defined as aliases to the new names.

    Finally, as long as new names are being defined anyway, I skipped
    defining new names for the fscrypt mode numbers that aren't actually
    used: INVALID (0), AES_256_GCM (2), AES_256_CBC (3), SPECK128_256_XTS
    (7), and SPECK128_256_CTS (8).

    Reviewed-by: Theodore Ts'o
    Signed-off-by: Eric Biggers

    Eric Biggers
     

06 Aug, 2019

1 commit


01 Aug, 2019

7 commits

  • With all those document shifts, references to documents get
    broken.

    Fix one such occurrence at porting.rst.

    Signed-off-by: Mauro Carvalho Chehab
    Signed-off-by: Jonathan Corbet

    Mauro Carvalho Chehab
     
  • The filenames for cifs documentation is not using the same
    convention as almost all Kernel documents is using. So,
    rename them to a more appropriate name. Then, manually convert
    the documentation files for CIFS to ReST.

    By doing a manual conversion, we can preserve the original
    author's style, while making it to look more like the other
    Kernel documents.

    Most of the conversion here is trivial. The most complex one was
    the README file (which was renamed to usage.rst).

    Signed-off-by: Mauro Carvalho Chehab
    Signed-off-by: Jonathan Corbet

    Mauro Carvalho Chehab
     
  • This file has its own proper style, except that, after a while,
    the coding style gets violated and whitespaces are placed on
    different ways.

    As Sphinx and ReST are very sentitive to whitespace differences,
    I had to opt if each entry after required/mandatory/... fields
    should start with zero spaces or with a tab. I opted to start them
    all from the zero position, in order to avoid needing to break lines
    with more than 80 columns, with would make harder for review.

    Most of the other changes at porting.rst were made to use an unified
    notation with works nice as a text file while also produce a good html
    output after being parsed.

    Signed-off-by: Mauro Carvalho Chehab
    Signed-off-by: Jonathan Corbet

    Mauro Carvalho Chehab
     
  • There are 3 remaining files without an extension inside the fs docs
    dir.

    Manually convert them to ReST.

    In the case of the nfs/exporting.rst file, as the nfs docs
    aren't ported yet, I opted to convert and add a :orphan: there,
    with should be removed when it gets added into a nfs-specific
    part of the fs documentation.

    Signed-off-by: Mauro Carvalho Chehab
    Signed-off-by: Jonathan Corbet

    Mauro Carvalho Chehab
     
  • The documentation standard is ReST and not markdown.

    Signed-off-by: Mauro Carvalho Chehab
    Acked-by: Rob Herring
    Signed-off-by: Jonathan Corbet

    Mauro Carvalho Chehab
     
  • This converts the plain text documentation of ufs.txt to
    reStructuredText format. Added to documentation build process
    and verified with make htmldocs

    Signed-off-by: Shobhit Kukreti
    Reviewed-by: Mauro Carvalho Chehab
    Signed-off-by: Jonathan Corbet

    Shobhit Kukreti
     
  • This converts the plain text documentation of jfs.txt to reStructuredText
    format. Added to documentation build process and verified with
    make htmldocs

    Signed-off-by: Shobhit Kukreti
    Reviewed-by: Mauro Carvalho Chehab
    Signed-off-by: Jonathan Corbet

    Shobhit Kukreti
     

31 Jul, 2019

1 commit


29 Jul, 2019

1 commit

  • Add a documentation file for fs-verity, covering:

    - Introduction
    - Use cases
    - User API
    - FS_IOC_ENABLE_VERITY
    - FS_IOC_MEASURE_VERITY
    - FS_IOC_GETFLAGS
    - Accessing verity files
    - File measurement computation
    - Merkle tree
    - fs-verity descriptor
    - Built-in signature verification
    - Filesystem support
    - ext4
    - f2fs
    - Implementation details
    - Verifying data
    - Pagecache
    - Block device based filesystems
    - Userspace utility
    - Tests
    - FAQ

    Reviewed-by: Theodore Ts'o
    Reviewed-by: Jaegeuk Kim
    Signed-off-by: Eric Biggers

    Eric Biggers
     

23 Jul, 2019

1 commit


22 Jul, 2019

1 commit


21 Jul, 2019

1 commit