Skip to content
  1. Mar 01, 2021
    • Linus Torvalds's avatar
      Merge tag 'block-5.12-2021-02-27' of git://git.kernel.dk/linux-block · 3ab6608e
      Linus Torvalds authored
      Pull more block updates from Jens Axboe:
       "A few stragglers (and one due to me missing it originally), and fixes
        for changes in this merge window mostly. In particular:
      
         - blktrace cleanups (Chaitanya, Greg)
      
         - Kill dead blk_pm_* functions (Bart)
      
         - Fixes for the bio alloc changes (Christoph)
      
         - Fix for the partition changes (Christoph, Ming)
      
         - Fix for turning off iopoll with polled IO inflight (Jeffle)
      
         - nbd disconnect fix (Josef)
      
         - loop fsync error fix (Mauricio)
      
         - kyber update depth fix (Yang)
      
         - max_sectors alignment fix (Mikulas)
      
         - Add bio_max_segs helper (Matthew)"
      
      * tag 'block-5.12-2021-02-27' of git://git.kernel.dk/linux-block: (21 commits)
        block: Add bio_max_segs
        blktrace: fix documentation for blk_fill_rw()
        block: memory allocations in bounce_clone_bio must not fail
        block: remove the gfp_mask argument to bounce_clone_bio
        block: fix bounce_clone_bio for passthrough bios
        block-crypto-fallback: use a bio_set for splitting bios
        block: fix logging on capacity change
        blk-settings: align max_sectors on "logical_block_size" boundary
        block: reopen the device in blkdev_reread_part
        block: don't skip empty device in in disk_uevent
        blktrace: remove debugfs file dentries from struct blk_trace
        nbd: handle device refs for DESTROY_ON_DISCONNECT properly
        kyber: introduce kyber_depth_updated()
        loop: fix I/O error on fsync() in detached loop devices
        block: fix potential IO hang when turning off io_poll
        block: get rid of the trace rq insert wrapper
        blktrace: fix blk_rq_merge documentation
        blktrace: fix blk_rq_issue documentation
        blktrace: add blk_fill_rwbs documentation comment
        block: remove superfluous param in blk_fill_rwbs()
        ...
      3ab6608e
  2. Feb 28, 2021
    • Linus Torvalds's avatar
      Merge tag 'io_uring-worker.v3-2021-02-25' of git://git.kernel.dk/linux-block · 5695e516
      Linus Torvalds authored
      Pull io_uring thread rewrite from Jens Axboe:
       "This converts the io-wq workers to be forked off the tasks in question
        instead of being kernel threads that assume various bits of the
        original task identity.
      
        This kills > 400 lines of code from io_uring/io-wq, and it's the worst
        part of the code. We've had several bugs in this area, and the worry
        is always that we could be missing some pieces for file types doing
        unusual things (recent /dev/tty example comes to mind, userfaultfd
        reads installing file descriptors is another fun one... - both of
        which need special handling, and I bet it's not the last weird oddity
        we'll find).
      
        With these identical workers, we can have full confidence that we're
        never missing anything. That, in itself, is a huge win. Outside of
        that, it's also more efficient since we're not wasting space and code
        on tracking state, or switching between different states.
      
        I'm sure we're going to find little things to patch up after this
        series, but testing has been pretty thorough, from the usual
        regression suite to production. Any issue that may crop up should be
        manageable.
      
        There's also a nice series of further reductions we can do on top of
        this, but I wanted to get the meat of it out sooner rather than later.
        The general worry here isn't that it's fundamentally broken. Most of
        the little issues we've found over the last week have been related to
        just changes in how thread startup/exit is done, since that's the main
        difference between using kthreads and these kinds of threads. In fact,
        if all goes according to plan, I want to get this into the 5.10 and
        5.11 stable branches as well.
      
        That said, the changes outside of io_uring/io-wq are:
      
         - arch setup, simple one-liner to each arch copy_thread()
           implementation.
      
         - Removal of net and proc restrictions for io_uring, they are no
           longer needed or useful"
      
      * tag 'io_uring-worker.v3-2021-02-25' of git://git.kernel.dk/linux-block: (30 commits)
        io-wq: remove now unused IO_WQ_BIT_ERROR
        io_uring: fix SQPOLL thread handling over exec
        io-wq: improve manager/worker handling over exec
        io_uring: ensure SQPOLL startup is triggered before error shutdown
        io-wq: make buffered file write hashed work map per-ctx
        io-wq: fix race around io_worker grabbing
        io-wq: fix races around manager/worker creation and task exit
        io_uring: ensure io-wq context is always destroyed for tasks
        arch: ensure parisc/powerpc handle PF_IO_WORKER in copy_thread()
        io_uring: cleanup ->user usage
        io-wq: remove nr_process accounting
        io_uring: flag new native workers with IORING_FEAT_NATIVE_WORKERS
        net: remove cmsg restriction from io_uring based send/recvmsg calls
        Revert "proc: don't allow async path resolution of /proc/self components"
        Revert "proc: don't allow async path resolution of /proc/thread-self components"
        io_uring: move SQPOLL thread io-wq forked worker
        io-wq: make io_wq_fork_thread() available to other users
        io-wq: only remove worker from free_list, if it was there
        io_uring: remove io_identity
        io_uring: remove any grabbing of context
        ...
      5695e516
    • Linus Torvalds's avatar
      Merge branch 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 5ceabb60
      Linus Torvalds authored
      Pull misc vfs updates from Al Viro:
       "Assorted stuff pile - no common topic here"
      
      * 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        whack-a-mole: don't open-code iminor/imajor
        9p: fix misuse of sscanf() in v9fs_stat2inode()
        audit_alloc_mark(): don't open-code ERR_CAST()
        fs/inode.c: make inode_init_always() initialize i_ino to 0
        vfs: don't unnecessarily clone write access for writable fds
      5ceabb60
  3. Feb 27, 2021