1. Oct 04, 2017
  2. Oct 03, 2017
  3. Oct 01, 2017
  4. Sep 30, 2017
  5. Sep 27, 2017
  6. Sep 26, 2017
    • Corentin Labbe's avatar
      block: cryptoloop - Fix build warning · 9979d545
      Corentin Labbe authored
      
      
      This patch fix the following build warning:
      drivers/block/cryptoloop.c:46:8: warning: variable 'cipher' set but not used [-Wunused-but-set-variable]
      
      Signed-off-by: default avatarCorentin Labbe <clabbe.montjoie@gmail.com>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      9979d545
    • Shaohua Li's avatar
      block/loop: make loop cgroup aware · d4478e92
      Shaohua Li authored
      
      
      loop block device handles IO in a separate thread. The actual IO
      dispatched isn't cloned from the IO loop device received, so the
      dispatched IO loses the cgroup context.
      
      I'm ignoring buffer IO case now, which is quite complicated.  Making the
      loop thread aware cgroup context doesn't really help. The loop device
      only writes to a single file. In current writeback cgroup
      implementation, the file can only belong to one cgroup.
      
      For direct IO case, we could workaround the issue in theory. For
      example, say we assign cgroup1 5M/s BW for loop device and cgroup2
      10M/s. We can create a special cgroup for loop thread and assign at
      least 15M/s for the underlayer disk. In this way, we correctly throttle
      the two cgroups. But this is tricky to setup.
      
      This patch tries to address the issue. We record bio's css in loop
      command. When loop thread is handling the command, we then use the API
      provided in patch 1 to set the css for current task. The bio layer will
      use the css for new IO (from patch 3).
      
      Acked-by: default avatarTejun Heo <tj@kernel.org>
      Signed-off-by: default avatarShaohua Li <shli@fb.com>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      d4478e92
    • Shaohua Li's avatar
      block: make blkcg aware of kthread stored original cgroup info · 902ec5b6
      Shaohua Li authored
      
      
      bio_blkcg is the only API to get cgroup info for a bio right now. If
      bio_blkcg finds current task is a kthread and has original blkcg
      associated, it will use the css instead of associating the bio to
      current task. This makes it possible that kthread dispatches bios on
      behalf of other threads.
      
      Acked-by: default avatarTejun Heo <tj@kernel.org>
      Signed-off-by: default avatarShaohua Li <shli@fb.com>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      902ec5b6
    • Shaohua Li's avatar
      blkcg: delete unused APIs · af551fb3
      Shaohua Li authored
      
      
      Nobody uses the APIs right now.
      
      Acked-by: default avatarTejun Heo <tj@kernel.org>
      Signed-off-by: default avatarShaohua Li <shli@fb.com>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      af551fb3
    • Shaohua Li's avatar
      kthread: add a mechanism to store cgroup info · 05e3db95
      Shaohua Li authored
      
      
      kthread usually runs jobs on behalf of other threads. The jobs should be
      charged to cgroup of original threads. But the jobs run in a kthread,
      where we lose the cgroup context of original threads. The patch adds a
      machanism to record cgroup info of original threads in kthread context.
      Later we can retrieve the cgroup info and attach the cgroup info to jobs.
      
      Since this mechanism is only required by kthread, we store the cgroup
      info in kthread data instead of generic task_struct.
      
      Acked-by: default avatarTejun Heo <tj@kernel.org>
      Signed-off-by: default avatarShaohua Li <shli@fb.com>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      05e3db95
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · e365806a
      Linus Torvalds authored
      Pull compat fix from Al Viro:
       "I really wish gcc warned about conversions from pointer to function
        into void *..."
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        fix a typo in put_compat_shm_info()
      e365806a
    • Al Viro's avatar
      fix a typo in put_compat_shm_info() · b776e4b1
      Al Viro authored
      
      
      "uip" misspelled as "up"; unfortunately, the latter happens to be
      a function and gcc is happy to convert it to void *...
      
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      b776e4b1
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.dk/linux-block · 19240e6b
      Linus Torvalds authored
      Pull block fixes from Jens Axboe:
      
       - Two sets of NVMe pull requests from Christoph:
            - Fixes for the Fibre Channel host/target to fix spec compliance
            - Allow a zero keep alive timeout
            - Make the debug printk for broken SGLs work better
            - Fix queue zeroing during initialization
            - Set of RDMA and FC fixes
            - Target div-by-zero fix
      
       - bsg double-free fix.
      
       - ndb unknown ioctl fix from Josef.
      
       - Buffered vs O_DIRECT page cache inconsistency fix. Has been floating
         around for a long time, well reviewed. From Lukas.
      
       - brd overflow fix from Mikulas.
      
       - Fix for a loop regression in this merge window, where using a union
         for two members of the loop_cmd turned out to be a really bad idea.
         From Omar.
      
       - Fix for an iostat regression fix in this series, using the wrong API
         to get at the block queue. From Shaohua.
      
       - Fix for a potential blktrace delection deadlock. From Waiman.
      
      * 'for-linus' of git://git.kernel.dk/linux-block: (30 commits)
        nvme-fcloop: fix port deletes and callbacks
        nvmet-fc: sync header templates with comments
        nvmet-fc: ensure target queue id within range.
        nvmet-fc: on port remove call put outside lock
        nvme-rdma: don't fully stop the controller in error recovery
        nvme-rdma: give up reconnect if state change fails
        nvme-core: Use nvme_wq to queue async events and fw activation
        nvme: fix sqhd reference when admin queue connect fails
        block: fix a crash caused by wrong API
        fs: Fix page cache inconsistency when mixing buffered and AIO DIO
        nvmet: implement valid sqhd values in completions
        nvme-fabrics: Allow 0 as KATO value
        nvme: allow timed-out ios to retry
        nvme: stop aer posting if controller state not live
        nvme-pci: Print invalid SGL only once
        nvme-pci: initialize queue memory before interrupts
        nvmet-fc: fix failing max io queue connections
        nvme-fc: use transport-specific sgl format
        nvme: add transport SGL definitions
        nvme.h: remove FC transport-specific error values
        ...
      19240e6b
    • Linus Torvalds's avatar
      Merge tag 'gfs2-for-linus-4.14-rc3' of... · 17763641
      Linus Torvalds authored
      Merge tag 'gfs2-for-linus-4.14-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2
      
      Pull gfs2 fix from Bob Peterson:
       "GFS2: Fix an old regression in GFS2's debugfs interface
      
       This fixes a regression introduced by commit 88ffbf3e ("GFS2: Use
       resizable hash table for glocks"). The regression caused the glock dump
       in debugfs to not report all the glocks, which makes debugging
       extremely difficult"
      
      * tag 'gfs2-for-linus-4.14-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2:
        gfs2: Fix debugfs glocks dump
      17763641
    • Linus Torvalds's avatar
      Merge tag 'microblaze-4.14-rc3' of git://git.monstr.eu/linux-2.6-microblaze · cf034616
      Linus Torvalds authored
      Pull Microblaze fixes from Michal Simek:
      
       - Kbuild fix
      
       - use vma_pages
      
       - setup default little endians
      
      * tag 'microblaze-4.14-rc3' of git://git.monstr.eu/linux-2.6-microblaze:
        arch: change default endian for microblaze
        microblaze: Cocci spatch "vma_pages"
        microblaze: Add missing kvm_para.h to Kbuild
      cf034616
    • Linus Torvalds's avatar
      Merge tag 'trace-v4.14-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace · ac0a3646
      Linus Torvalds authored
      Pull tracing fixes from Steven Rostedt:
       "Stack tracing and RCU has been having issues with each other and
        lockdep has been pointing out constant problems.
      
        The changes have been going into the stack tracer, but it has been
        discovered that the problem isn't with the stack tracer itself, but it
        is with calling save_stack_trace() from within the internals of RCU.
      
        The stack tracer is the one that can trigger the issue the easiest,
        but examining the problem further, it could also happen from a WARN()
        in the wrong place, or even if an NMI happened in this area and it did
        an rcu_read_lock().
      
        The critical area is where RCU is not watching. Which can happen while
        going to and from idle, or bringing up or taking down a CPU.
      
        The final fix was to put the protection in kernel_text_address() as it
        is the one that requires RCU to be watching while doing the stack
        trace.
      
        To make this work properly, Paul had to allow rcu_irq_enter() happen
        after rcu_nmi_enter(). This should have been done anyway, since an NMI
        can page fault (reading vmalloc area), and a page fault triggers
        rcu_irq_enter().
      
        One patch is just a consolidation of code so that the fix only needed
        to be done in one location"
      
      * tag 'trace-v4.14-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
        tracing: Remove RCU work arounds from stack tracer
        extable: Enable RCU if it is not watching in kernel_text_address()
        extable: Consolidate *kernel_text_address() functions
        rcu: Allow for page faults in NMI handlers
      ac0a3646
    • James Smart's avatar
      nvme-fcloop: fix port deletes and callbacks · fddc9923
      James Smart authored
      
      
      Now that there are potentially long delays between when a remoteport or
      targetport delete calls is made and when the callback occurs (dev_loss_tmo
      timeout), no longer block in the delete routines and move the final nport
      puts to the callbacks.
      
      Moved the fcloop_nport_get/put/free routines to avoid forward declarations.
      
      Ensure port_info structs used in registrations are nulled in case fields
      are not set (ex: devloss_tmo values).
      
      Signed-off-by: default avatarJames Smart <james.smart@broadcom.com>
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      fddc9923
    • James Smart's avatar
      nvmet-fc: sync header templates with comments · 6b71f9e1
      James Smart authored
      
      
      Comments were incorrect:
      - defer_rcv was in host port template. moved to target port template
      - Added Mandatory statements for target port template items
      
      Signed-off-by: default avatarJames Smart <james.smart@broadcom.com>
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      6b71f9e1
    • James Smart's avatar
      nvmet-fc: ensure target queue id within range. · 0c319d3a
      James Smart authored
      
      
      When searching for queue id's ensure they are within the expected range.
      
      Signed-off-by: default avatarJames Smart <james.smart@broadcom.com>
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      0c319d3a