Skip to content
  1. Apr 10, 2021
    • Gao Xiang's avatar
      erofs: adjust per-CPU buffers according to max_pclusterblks · 4fea63f7
      Gao Xiang authored
      
      
      Adjust per-CPU buffers on demand since big pcluster definition is
      available. Also, bail out unsupported pcluster size according to
      Z_EROFS_PCLUSTER_MAX_SIZE.
      
      Link: https://lore.kernel.org/r/20210407043927.10623-7-xiang@kernel.org
      Acked-by: default avatarChao Yu <yuchao0@huawei.com>
      Signed-off-by: default avatarGao Xiang <hsiangkao@redhat.com>
      4fea63f7
    • Gao Xiang's avatar
      erofs: add big physical cluster definition · 5404c330
      Gao Xiang authored
      
      
      Big pcluster indicates the size of compressed data for each physical
      pcluster is no longer fixed as block size, but could be more than 1
      block (more accurately, 1 logical pcluster)
      
      When big pcluster feature is enabled for head0/1, delta0 of the 1st
      non-head lcluster index will keep block count of this pcluster in
      lcluster size instead of 1. Or, the compressed size of pcluster
      should be 1 lcluster if pcluster has no non-head lcluster index.
      
      Also note that BIG_PCLUSTER feature reuses COMPR_CFGS feature since
      it depends on COMPR_CFGS and will be released together.
      
      Link: https://lore.kernel.org/r/20210407043927.10623-6-xiang@kernel.org
      Acked-by: default avatarChao Yu <yuchao0@huawei.com>
      Signed-off-by: default avatarGao Xiang <hsiangkao@redhat.com>
      5404c330
    • Gao Xiang's avatar
      erofs: fix up inplace I/O pointer for big pcluster · 81382f5f
      Gao Xiang authored
      
      
      When picking up inplace I/O pages, it should be traversed in reverse
      order in aligned with the traversal order of file-backed online pages.
      Also, index should be updated together when preloading compressed pages.
      
      Previously, only page-sized pclustersize was supported so no problem
      at all. Also rename `compressedpages' to `icpage_ptr' to reflect its
      functionality.
      
      Link: https://lore.kernel.org/r/20210407043927.10623-5-xiang@kernel.org
      Acked-by: default avatarChao Yu <yuchao0@huawei.com>
      Signed-off-by: default avatarGao Xiang <hsiangkao@redhat.com>
      81382f5f
    • Gao Xiang's avatar
      erofs: introduce physical cluster slab pools · 9f6cc76e
      Gao Xiang authored
      
      
      Since multiple pcluster sizes could be used at once, the number of
      compressed pages will become a variable factor. It's necessary to
      introduce slab pools rather than a single slab cache now.
      
      This limits the pclustersize to 1M (Z_EROFS_PCLUSTER_MAX_SIZE), and
      get rid of the obsolete EROFS_FS_CLUSTER_PAGE_LIMIT, which has no
      use now.
      
      Link: https://lore.kernel.org/r/20210407043927.10623-4-xiang@kernel.org
      Acked-by: default avatarChao Yu <yuchao0@huawei.com>
      Signed-off-by: default avatarGao Xiang <hsiangkao@redhat.com>
      9f6cc76e
    • Gao Xiang's avatar
      erofs: introduce multipage per-CPU buffers · 52488734
      Gao Xiang authored
      
      
      To deal the with the cases which inplace decompression is infeasible
      for some inplace I/O. Per-CPU buffers was introduced to get rid of page
      allocation latency and thrash for low-latency decompression algorithms
      such as lz4.
      
      For the big pcluster feature, introduce multipage per-CPU buffers to
      keep such inplace I/O pclusters temporarily as well but note that
      per-CPU pages are just consecutive virtually.
      
      When a new big pcluster fs is mounted, its max pclustersize will be
      read and per-CPU buffers can be growed if needed. Shrinking adjustable
      per-CPU buffers is more complex (because we don't know if such size
      is still be used), so currently just release them all when unloading.
      
      Link: https://lore.kernel.org/r/20210409190630.19569-1-xiang@kernel.org
      Acked-by: default avatarChao Yu <yuchao0@huawei.com>
      Signed-off-by: default avatarGao Xiang <hsiangkao@redhat.com>
      52488734
  2. Apr 07, 2021
    • Gao Xiang's avatar
      erofs: reserve physical_clusterbits[] · 54e0b6c8
      Gao Xiang authored
      
      
      Formal big pcluster design is actually more powerful / flexable than
      the previous thought whose pclustersize was fixed as power-of-2 blocks,
      which was obviously inefficient and space-wasting. Instead, pclustersize
      can now be set independently for each pcluster, so various pcluster
      sizes can also be used together in one file if mkfs wants (for example,
      according to data type and/or compression ratio).
      
      Let's get rid of previous physical_clusterbits[] setting (also notice
      that corresponding on-disk fields are still 0 for now). Therefore,
      head1/2 can be used for at most 2 different algorithms in one file and
      again pclustersize is now independent of these.
      
      Link: https://lore.kernel.org/r/20210407043927.10623-2-xiang@kernel.org
      Acked-by: default avatarChao Yu <yuchao0@huawei.com>
      Signed-off-by: default avatarGao Xiang <hsiangkao@redhat.com>
      54e0b6c8
  3. Apr 03, 2021
  4. Mar 29, 2021
    • Gao Xiang's avatar
      erofs: add on-disk compression configurations · 14373711
      Gao Xiang authored
      
      
      Add a bitmap for available compression algorithms and a variable-sized
      on-disk table for compression options in preparation for upcoming big
      pcluster and LZMA algorithm, which follows the end of super block.
      
      To parse the compression options, the bitmap is scanned one by one.
      For each available algorithm, there is data followed by 2-byte `length'
      correspondingly (it's enough for most cases, or entire fs blocks should
      be used.)
      
      With such available algorithm bitmap, kernel itself can also refuse to
      mount such filesystem if any unsupported compression algorithm exists.
      
      Note that COMPR_CFGS feature will be enabled with BIG_PCLUSTER.
      
      Link: https://lore.kernel.org/r/20210329100012.12980-1-hsiangkao@aol.com
      Reviewed-by: default avatarChao Yu <yuchao0@huawei.com>
      Signed-off-by: default avatarGao Xiang <hsiangkao@redhat.com>
      14373711
    • Gao Xiang's avatar
      erofs: introduce on-disk lz4 fs configurations · 46249cde
      Gao Xiang authored
      
      
      Introduce z_erofs_lz4_cfgs to store all lz4 configurations.
      Currently it's only max_distance, but will be used for new
      features later.
      
      Link: https://lore.kernel.org/r/20210329012308.28743-4-hsiangkao@aol.com
      Reviewed-by: default avatarChao Yu <yuchao0@huawei.com>
      Signed-off-by: default avatarGao Xiang <hsiangkao@redhat.com>
      46249cde
    • Huang Jianan's avatar
      erofs: support adjust lz4 history window size · 5d50538f
      Huang Jianan authored
      
      
      lz4 uses LZ4_DISTANCE_MAX to record history preservation. When
      using rolling decompression, a block with a higher compression
      ratio will cause a larger memory allocation (up to 64k). It may
      cause a large resource burden in extreme cases on devices with
      small memory and a large number of concurrent IOs. So appropriately
      reducing this value can improve performance.
      
      Decreasing this value will reduce the compression ratio (except
      when input_size <LZ4_DISTANCE_MAX). But considering that erofs
      currently only supports 4k output, reducing this value will not
      significantly reduce the compression benefits.
      
      The maximum value of LZ4_DISTANCE_MAX defined by lz4 is 64k, and
      we can only reduce this value. For the old kernel, it just can't
      reduce the memory allocation during rolling decompression without
      affecting the decompression result.
      
      Link: https://lore.kernel.org/r/20210329012308.28743-3-hsiangkao@aol.com
      Reviewed-by: default avatarChao Yu <yuchao0@huawei.com>
      Signed-off-by: default avatarHuang Jianan <huangjianan@oppo.com>
      Signed-off-by: default avatarGuo Weichao <guoweichao@oppo.com>
      [ Gao Xiang: introduce struct erofs_sb_lz4_info for configurations. ]
      Signed-off-by: default avatarGao Xiang <hsiangkao@redhat.com>
      5d50538f
    • Gao Xiang's avatar
      erofs: introduce erofs_sb_has_xxx() helpers · de06a6a3
      Gao Xiang authored
      
      
      Introduce erofs_sb_has_xxx() to make long checks short, especially
      for later big pcluster & LZMA features.
      
      Link: https://lore.kernel.org/r/20210329012308.28743-2-hsiangkao@aol.com
      Reviewed-by: default avatarChao Yu <yuchao0@huawei.com>
      Signed-off-by: default avatarGao Xiang <hsiangkao@redhat.com>
      de06a6a3
    • Gao Xiang's avatar
      erofs: add unsupported inode i_format check · 24a806d8
      Gao Xiang authored
      If any unknown i_format fields are set (may be of some new incompat
      inode features), mark such inode as unsupported.
      
      Just in case of any new incompat i_format fields added in the future.
      
      Link: https://lore.kernel.org/r/20210329003614.6583-1-hsiangkao@aol.com
      Fixes: 431339ba
      
       ("staging: erofs: add inode operations")
      Cc: <stable@vger.kernel.org> # 4.19+
      Signed-off-by: default avatarGao Xiang <hsiangkao@redhat.com>
      24a806d8
    • Yue Hu's avatar
      erofs: don't use erofs_map_blocks() any more · 8137824e
      Yue Hu authored
      
      
      Currently, erofs_map_blocks() will be called only from
      erofs_{bmap, read_raw_page} which are all for uncompressed files.
      So, the compression branch in erofs_map_blocks() is pointless. Let's
      remove it and use erofs_map_blocks_flatmode() directly. Also update
      related comments.
      
      Link: https://lore.kernel.org/r/20210325071008.573-1-zbestahu@gmail.com
      Reviewed-by: default avatarChao Yu <yuchao0@huawei.com>
      Signed-off-by: default avatarYue Hu <huyue2@yulong.com>
      Signed-off-by: default avatarGao Xiang <hsiangkao@redhat.com>
      8137824e
    • Gao Xiang's avatar
      erofs: complete a missing case for inplace I/O · 0b964600
      Gao Xiang authored
      
      
      Add a missing case which could cause unnecessary page allocation but
      not directly use inplace I/O instead, which increases runtime extra
      memory footprint.
      
      The detail is, considering an online file-backed page, the right half
      of the page is chosen to be cached (e.g. the end page of a readahead
      request) and some of its data doesn't exist in managed cache, so the
      pcluster will be definitely kept in the submission chain. (IOWs, it
      cannot be decompressed without I/O, e.g., due to the bypass queue).
      
      Currently, DELAYEDALLOC/TRYALLOC cases can be downgraded as NOINPLACE,
      and stop online pages from inplace I/O. After this patch, unneeded page
      allocations won't be observed in pickup_page_for_submission() then.
      
      Link: https://lore.kernel.org/r/20210321183227.5182-1-hsiangkao@aol.com
      Signed-off-by: default avatarGao Xiang <hsiangkao@redhat.com>
      0b964600
    • Huang Jianan's avatar
      erofs: use sync decompression for atomic contexts only · 30048cda
      Huang Jianan authored
      
      
      Sync decompression was introduced to get rid of additional kworker
      scheduling overhead. But there is no such overhead in non-atomic
      contexts. Therefore, it should be better to turn off sync decompression
      to avoid the current thread waiting in z_erofs_runqueue.
      
      Link: https://lore.kernel.org/r/20210317035448.13921-3-huangjianan@oppo.com
      Reviewed-by: default avatarGao Xiang <hsiangkao@redhat.com>
      Reviewed-by: default avatarChao Yu <yuchao0@huawei.com>
      Signed-off-by: default avatarHuang Jianan <huangjianan@oppo.com>
      Signed-off-by: default avatarGuo Weichao <guoweichao@oppo.com>
      Signed-off-by: default avatarGao Xiang <hsiangkao@redhat.com>
      30048cda
    • Huang Jianan's avatar
      erofs: use workqueue decompression for atomic contexts only · 648f2de0
      Huang Jianan authored
      
      
      z_erofs_decompressqueue_endio may not be executed in the atomic
      context, for example, when dm-verity is turned on. In this scenario,
      data can be decompressed directly to get rid of additional kworker
      scheduling overhead.
      
      Link: https://lore.kernel.org/r/20210317035448.13921-2-huangjianan@oppo.com
      Reviewed-by: default avatarGao Xiang <hsiangkao@redhat.com>
      Reviewed-by: default avatarChao Yu <yuchao0@huawei.com>
      Signed-off-by: default avatarHuang Jianan <huangjianan@oppo.com>
      Signed-off-by: default avatarGuo Weichao <guoweichao@oppo.com>
      Signed-off-by: default avatarGao Xiang <hsiangkao@redhat.com>
      648f2de0
    • Huang Jianan's avatar
      erofs: avoid memory allocation failure during rolling decompression · b4892fa3
      Huang Jianan authored
      
      
      Currently, err would be treated as io error. Therefore, it'd be
      better to ensure memory allocation during rolling decompression
      to avoid such io error.
      
      In the long term, we might consider adding another !Uptodate case
      for such case.
      
      Link: https://lore.kernel.org/r/20210316031515.90954-1-huangjianan@oppo.com
      Reviewed-by: default avatarGao Xiang <hsiangkao@redhat.com>
      Reviewed-by: default avatarChao Yu <yuchao0@huawei.com>
      Signed-off-by: default avatarHuang Jianan <huangjianan@oppo.com>
      Signed-off-by: default avatarGuo Weichao <guoweichao@oppo.com>
      Signed-off-by: default avatarGao Xiang <hsiangkao@redhat.com>
      b4892fa3
    • Linus Torvalds's avatar
      Linux 5.12-rc5 · a5e13c6d
      Linus Torvalds authored
      a5e13c6d
    • Linus Torvalds's avatar
      Merge tag 'perf-tools-fixes-for-v5.12-2020-03-28' of... · f9e2bb42
      Linus Torvalds authored
      Merge tag 'perf-tools-fixes-for-v5.12-2020-03-28' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux
      
      Pull perf tooling fixes from Arnaldo Carvalho de Melo:
      
       - Avoid write of uninitialized memory when generating PERF_RECORD_MMAP*
         records.
      
       - Fix 'perf top' BPF support related crash with perf_event_paranoid=3 +
         kptr_restrict.
      
       - Validate raw event with sysfs exported format bits.
      
       - Fix waipid on SIGCHLD delivery bugs in 'perf daemon'.
      
       - Change to use bash for daemon test on Debian, where the default is
         dash and thus fails for use of bashisms in this test.
      
       - Fix memory leak in vDSO found using ASAN.
      
       - Remove now useless (due to the fact that BPF now supports static
         vars) failing sub test "BPF relocation checker".
      
       - Fix auxtrace queue conflict.
      
       - Sync linux/kvm.h with the kernel sources.
      
      * tag 'perf-tools-fixes-for-v5.12-2020-03-28' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux:
        perf test: Change to use bash for daemon test
        perf record: Fix memory leak in vDSO found using ASAN
        perf test: Remove now useless failing sub test "BPF relocation checker"
        perf daemon: Return from kill functions
        perf daemon: Force waipid for all session on SIGCHLD delivery
        perf top: Fix BPF support related crash with perf_event_paranoid=3 + kptr_restrict
        perf pmu: Validate raw event with sysfs exported format bits
        perf synthetic events: Avoid write of uninitialized memory when generating PERF_RECORD_MMAP* records
        tools headers UAPI: Sync linux/kvm.h with the kernel sources
        perf synthetic-events: Fix uninitialized 'kernel_thread' variable
        perf auxtrace: Fix auxtrace queue conflict
      f9e2bb42
    • Linus Torvalds's avatar
      Merge tag 'auxdisplay-for-linus-v5.12-rc6' of git://github.com/ojeda/linux · 3fef15f8
      Linus Torvalds authored
      Pull auxdisplay fix from Miguel Ojeda:
       "Remove in_interrupt() usage (Sebastian Andrzej Siewior)"
      
      * tag 'auxdisplay-for-linus-v5.12-rc6' of git://github.com/ojeda/linux:
        auxdisplay: Remove in_interrupt() usage.
      3fef15f8
    • Linus Torvalds's avatar
      Merge tag 'x86-urgent-2021-03-28' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 36a14638
      Linus Torvalds authored
      Pull x86 fixes from Ingo Molnar:
       "Two fixes:
      
         - Fix build failure on Ubuntu with new GCC packages that turn
           on -fcf-protection
      
         - Fix SME memory encryption PTE encoding bug - AFAICT the code
           worked on 4K page sizes (level 1) but had the wrong shift at
           higher page level orders (level 2 and higher)"
      
      * tag 'x86-urgent-2021-03-28' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/build: Turn off -fcf-protection for realmode targets
        x86/mem_encrypt: Correct physical address calculation in __set_clr_pte_enc()
      36a14638
    • Linus Torvalds's avatar
      Merge tag 'locking-urgent-2021-03-28' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 47fbbc94
      Linus Torvalds authored
      Pull locking fix from Ingo Molnar:
       "Fix the non-debug mutex_lock_io_nested() method to map to
        mutex_lock_io() instead of mutex_lock().
      
        Right now nothing uses this API explicitly, but this is an
        accident waiting to happen"
      
      * tag 'locking-urgent-2021-03-28' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        locking/mutex: Fix non debug version of mutex_lock_io_nested()
      47fbbc94
    • Linus Torvalds's avatar
      Merge tag '5.12-rc4-smb3' of git://git.samba.org/sfrench/cifs-2.6 · 81b1d39f
      Linus Torvalds authored
      Pull cifs fixes from Steve French:
       "Five cifs/smb3 fixes, two for stable.
      
        Includes an important fix for encryption and an ACL fix, as well as a
        fix for possible reflink data corruption"
      
      * tag '5.12-rc4-smb3' of git://git.samba.org/sfrench/cifs-2.6:
        smb3: fix cached file size problems in duplicate extents (reflink)
        cifs: Silently ignore unknown oplock break handle
        cifs: revalidate mapping when we open files for SMB1 POSIX
        cifs: Fix chmod with modefromsid when an older ACE already exists.
        cifs: Adjust key sizes and key generation routines for AES256 encryption
      81b1d39f
    • Linus Torvalds's avatar
      Merge tag 'io_uring-5.12-2021-03-27' of git://git.kernel.dk/linux-block · b44d1ddc
      Linus Torvalds authored
      Pull io_uring fixes from Jens Axboe:
      
       - Use thread info versions of flag testing, as discussed last week.
      
       - The series enabling PF_IO_WORKER to just take signals, instead of
         needing to special case that they do not in a bunch of places. Ends
         up being pretty trivial to do, and then we can revert all the special
         casing we're currently doing.
      
       - Kill dead pointer assignment
      
       - Fix hashed part of async work queue trace
      
       - Fix sign extension issue for IORING_OP_PROVIDE_BUFFERS
      
       - Fix a link completion ordering regression in this merge window
      
       - Cancellation fixes
      
      * tag 'io_uring-5.12-2021-03-27' of git://git.kernel.dk/linux-block:
        io_uring: remove unsued assignment to pointer io
        io_uring: don't cancel extra on files match
        io_uring: don't cancel-track common timeouts
        io_uring: do post-completion chore on t-out cancel
        io_uring: fix timeout cancel return code
        Revert "signal: don't allow STOP on PF_IO_WORKER threads"
        Revert "kernel: freezer should treat PF_IO_WORKER like PF_KTHREAD for freezing"
        Revert "kernel: treat PF_IO_WORKER like PF_KTHREAD for ptrace/signals"
        Revert "signal: don't allow sending any signals to PF_IO_WORKER threads"
        kernel: stop masking signals in create_io_thread()
        io_uring: handle signals for IO threads like a normal thread
        kernel: don't call do_exit() for PF_IO_WORKER threads
        io_uring: maintain CQE order of a failed link
        io-wq: fix race around pending work on teardown
        io_uring: do ctx sqd ejection in a clear context
        io_uring: fix provide_buffers sign extension
        io_uring: don't skip file_end_write() on reissue
        io_uring: correct io_queue_async_work() traces
        io_uring: don't use {test,clear}_tsk_thread_flag() for current
      b44d1ddc
    • Linus Torvalds's avatar
      Merge tag 'block-5.12-2021-03-27' of git://git.kernel.dk/linux-block · abed516e
      Linus Torvalds authored
      Pull block fixes from Jens Axboe:
      
       - Fix regression from this merge window with the xarray partition
         change, which allowed partition counts that overflow the u8 that
         holds the partition number (Ming)
      
       - Fix zone append warning (Johannes)
      
       - Segmentation count fix for multipage bvecs (David)
      
       - Partition scan fix (Chris)
      
      * tag 'block-5.12-2021-03-27' of git://git.kernel.dk/linux-block:
        block: don't create too many partitions
        block: support zone append bvecs
        block: recalculate segment count for multi-segment discards correctly
        block: clear GD_NEED_PART_SCAN later in bdev_disk_changed
      abed516e
    • Linus Torvalds's avatar
      Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · e8cfe8fa
      Linus Torvalds authored
      Pull SCSI fixes from James Bottomley:
       "Seven fixes, all in drivers (qla2xxx, mkt3sas, qedi, target,
        ibmvscsi).
      
        The most serious are the target pscsi oom and the qla2xxx revert which
        can otherwise cause a use after free"
      
      * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
        scsi: target: pscsi: Clean up after failure in pscsi_map_sg()
        scsi: target: pscsi: Avoid OOM in pscsi_map_sg()
        scsi: mpt3sas: Fix error return code of mpt3sas_base_attach()
        scsi: qedi: Fix error return code of qedi_alloc_global_queues()
        scsi: Revert "qla2xxx: Make sure that aborted commands are freed"
        scsi: ibmvfc: Make ibmvfc_wait_for_ops() MQ aware
        scsi: ibmvfc: Fix potential race in ibmvfc_wait_for_ops()
      e8cfe8fa
  5. Mar 28, 2021
  6. Mar 27, 2021
    • Ming Lei's avatar
      block: don't create too many partitions · e82fc785
      Ming Lei authored
      Commit a33df75c
      
       ("block: use an xarray for disk->part_tbl") drops the
      check on max supported number of partitionsr, and allows partition with
      bigger partition numbers to be added. However, ->bd_partno is defined as
      u8, so partition index of xarray table may not match with ->bd_partno.
      Then delete_partition() may delete one unmatched partition, and caused
      use-after-free.
      
      Reviewed-by: default avatarBart Van Assche <bvanassche@acm.org>
      Reported-by: default avatar <syzbot+8fede7e30c7cee0de139@syzkaller.appspotmail.com>
      Fixes: a33df75c
      
       ("block: use an xarray for disk->part_tbl")
      Signed-off-by: default avatarMing Lei <ming.lei@redhat.com>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      e82fc785
    • Steve French's avatar
      smb3: fix cached file size problems in duplicate extents (reflink) · cfc63fc8
      Steve French authored
      
      
      There were two problems (one of which could cause data corruption)
      that were noticed with duplicate extents (ie reflink)
      when debugging why various xfstests were being incorrectly skipped
      (e.g. generic/138, generic/140, generic/142). First, we were not
      updating the file size locally in the cache when extending a
      file due to reflink (it would refresh after actimeo expires)
      but xfstest was checking the size immediately which was still
      0 so caused the test to be skipped.  Second, we were setting
      the target file size (which could shrink the file) in all cases
      to the end of the reflinked range rather than only setting the
      target file size when reflink would extend the file.
      
      CC: <stable@vger.kernel.org>
      Signed-off-by: default avatarSteve French <stfrench@microsoft.com>
      cfc63fc8
    • Vincent Whitchurch's avatar
      cifs: Silently ignore unknown oplock break handle · 219481a8
      Vincent Whitchurch authored
      
      
      Make SMB2 not print out an error when an oplock break is received for an
      unknown handle, similar to SMB1.  The debug message which is printed for
      these unknown handles may also be misleading, so fix that too.
      
      The SMB2 lease break path is not affected by this patch.
      
      Without this, a program which writes to a file from one thread, and
      opens, reads, and writes the same file from another thread triggers the
      below errors several times a minute when run against a Samba server
      configured with "smb2 leases = no".
      
       CIFS: VFS: \\192.168.0.1 No task to wake, unknown frame received! NumMids 2
       00000000: 424d53fe 00000040 00000000 00000012  .SMB@...........
       00000010: 00000001 00000000 ffffffff ffffffff  ................
       00000020: 00000000 00000000 00000000 00000000  ................
       00000030: 00000000 00000000 00000000 00000000  ................
      
      Signed-off-by: default avatarVincent Whitchurch <vincent.whitchurch@axis.com>
      Reviewed-by: default avatarTom Talpey <tom@talpey.com>
      Reviewed-by: default avatarPaulo Alcantara (SUSE) <pc@cjr.nz>
      Signed-off-by: default avatarSteve French <stfrench@microsoft.com>
      219481a8