1. Oct 13, 2023
    • David Teigland's avatar
      eb53c018
    • Alexander Aring's avatar
      dlm: slow down filling up processing queue · a470cb2a
      Alexander Aring authored
      
      
      If there is a burst of message the receive worker will filling up the
      processing queue but where are too slow to process dlm messages. This
      patch will slow down the receiver worker to keep the buffer on the
      socket layer to tell the sender to backoff. This is done by a threshold
      to get the next buffers from the socket after all messages were
      processed done by a flush_workqueue(). This however only occurs when we
      have a message burst when we e.g. create 1 million locks. If we put more
      and more new messages to process in the processqueue we will soon run out
      of memory.
      
      Signed-off-by: default avatarAlexander Aring <aahringo@redhat.com>
      Signed-off-by: default avatarDavid Teigland <teigland@redhat.com>
      a470cb2a
    • Alexander Aring's avatar
      dlm: fix no ack after final message · 6212e452
      Alexander Aring authored
      In case of an final DLM message we can't should not send an ack out
      after the final message. This patch moves the ack message before the
      messages will be transmitted. If it's the final message and the
      receiving node turns into DLM_CLOSED state another ack messages will
      being received and turning the receiving node into DLM_ESTABLISHED
      again.
      
      Fixes: 1696c75f
      
       ("fs: dlm: add send ack threshold and append acks to msgs")
      Signed-off-by: default avatarAlexander Aring <aahringo@redhat.com>
      Signed-off-by: default avatarDavid Teigland <teigland@redhat.com>
      6212e452
    • Alexander Aring's avatar
      dlm: be sure we reset all nodes at forced shutdown · e759eb3e
      Alexander Aring authored
      In case we running in a force shutdown in either midcomms or lowcomms
      implementation we will make sure we reset all per midcomms node
      information.
      
      Fixes: 63e711b0
      
       ("fs: dlm: create midcomms nodes when configure")
      Signed-off-by: default avatarAlexander Aring <aahringo@redhat.com>
      Signed-off-by: default avatarDavid Teigland <teigland@redhat.com>
      e759eb3e
    • Alexander Aring's avatar
      dlm: fix remove member after close call · 2776635e
      Alexander Aring authored
      The idea of commit 63e711b0 ("fs: dlm: create midcomms nodes when
      configure") is to set the midcomms node lifetime when a node joins or
      leaves the cluster. Currently we can hit the following warning:
      
      [10844.611495] ------------[ cut here ]------------
      [10844.615913] WARNING: CPU: 4 PID: 84304 at fs/dlm/midcomms.c:1263
      dlm_midcomms_remove_member+0x13f/0x180 [dlm]
      
      or running in a state where we hit a midcomms node usage count in a
      negative value:
      
      [  260.830782] node 2 users dec count -1
      
      The first warning happens when the a specific node does not exists and
      it was probably removed but dlm_midcomms_close() which is called when a
      node leaves the cluster. The second kernel log message is probably in a
      case when dlm_midcomms_addr() is called when a joined the cluster but
      due fencing a node leaved the cluster without getting removed from the
      lockspace. If the node joins the cluster and it was removed from the
      cluster due fencing the first call is to remove the node from lockspaces
      triggered by the user space. In both cases if the node wasn't found or
      the user count is zero, we should ignore any additional midcomms handling
      of dlm_midcomms_remove_member().
      
      Fixes: 63e711b0
      
       ("fs: dlm: create midcomms nodes when configure")
      Signed-off-by: default avatarAlexander Aring <aahringo@redhat.com>
      Signed-off-by: default avatarDavid Teigland <teigland@redhat.com>
      2776635e
    • Alexander Aring's avatar
      dlm: fix creating multiple node structures · fe9b619e
      Alexander Aring authored
      This patch will lookup existing nodes instead of always creating them
      when dlm_midcomms_addr() is called. The idea is here to create midcomms
      nodes when user space getting informed that nodes joins the cluster. This
      is the case when dlm_midcomms_addr() is called, however it can be called
      multiple times by user space to add several address configurations to one
      node e.g. when using SCTP. Those multiple times need to be filtered out
      and we doing that by looking up if the node exists before. Due configfs
      entry it is safe that this function gets only called once at a time.
      
      Fixes: 63e711b0
      
       ("fs: dlm: create midcomms nodes when configure")
      Signed-off-by: default avatarAlexander Aring <aahringo@redhat.com>
      Signed-off-by: default avatarDavid Teigland <teigland@redhat.com>
      fe9b619e
    • Christophe JAILLET's avatar
      fs: dlm: Remove some useless memset() · bc15bec1
      Christophe JAILLET authored
      
      
      There is no need to clear the buffer used to build the file name.
      
      snprintf() already guarantees that it is NULL terminated and such a
      (useless) precaution was not done for the first string (i.e
      ls_debug_rsb_dentry)
      
      So, save a few LoC.
      
      Signed-off-by: default avatarChristophe JAILLET <christophe.jaillet@wanadoo.fr>
      Signed-off-by: default avatarAlexander Aring <aahringo@redhat.com>
      Signed-off-by: default avatarDavid Teigland <teigland@redhat.com>
      bc15bec1
    • Christophe JAILLET's avatar
      fs: dlm: Fix the size of a buffer in dlm_create_debug_file() · b859e010
      Christophe JAILLET authored
      8 is not the maximum size of the suffix used when creating debugfs files.
      
      Let the compiler compute the correct size, and only give a hint about the
      longest possible string that is used.
      
      When building with W=1, this fixes the following warnings:
      
        fs/dlm/debug_fs.c: In function ‘dlm_create_debug_file’:
        fs/dlm/debug_fs.c:1020:58: error: ‘snprintf’ output may be truncated before the last format character [-Werror=format-truncation=]
         1020 |         snprintf(name, DLM_LOCKSPACE_LEN + 8, "%s_waiters", ls->ls_name);
              |                                                          ^
        fs/dlm/debug_fs.c:1020:9: note: ‘snprintf’ output between 9 and 73 bytes into a destination of size 72
         1020 |         snprintf(name, DLM_LOCKSPACE_LEN + 8, "%s_waiters", ls->ls_name);
              |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        fs/dlm/debug_fs.c:1031:50: error: ‘_queued_asts’ directive output may be truncated writing 12 bytes into a region of size between 8 and 72 [-Werror=format-truncation=]
         1031 |         snprintf(name, DLM_LOCKSPACE_LEN + 8, "%s_queued_asts", ls->ls_name);
              |                                                  ^~~~~~~~~~~~
        fs/dlm/debug_fs.c:1031:9: note: ‘snprintf’ output between 13 and 77 bytes into a destination of size 72
         1031 |         snprintf(name, DLM_LOCKSPACE_LEN + 8, "%s_queued_asts", ls->ls_name);
              |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      
      Fixes: 541adb0d
      
       ("fs: dlm: debugfs for queued callbacks")
      Signed-off-by: default avatarChristophe JAILLET <christophe.jaillet@wanadoo.fr>
      Signed-off-by: default avatarAlexander Aring <aahringo@redhat.com>
      Signed-off-by: default avatarDavid Teigland <teigland@redhat.com>
      b859e010
    • Christophe JAILLET's avatar
      fs: dlm: Simplify buffer size computation in dlm_create_debug_file() · 19b3102c
      Christophe JAILLET authored
      
      
      Use sizeof(name) instead of the equivalent, but hard coded,
      DLM_LOCKSPACE_LEN + 8.
      
      This is less verbose and more future proof.
      
      Signed-off-by: default avatarChristophe JAILLET <christophe.jaillet@wanadoo.fr>
      Signed-off-by: default avatarAlexander Aring <aahringo@redhat.com>
      Signed-off-by: default avatarDavid Teigland <teigland@redhat.com>
      19b3102c
  2. Oct 09, 2023
  3. Oct 08, 2023
  4. Oct 07, 2023
  5. Oct 06, 2023
    • Linus Torvalds's avatar
      Merge tag 'for-6.6-rc4-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux · 7de25c85
      Linus Torvalds authored
      Pull btrfs fixes from David Sterba:
      
       - reject unknown mount options
      
       - adjust transaction abort error message level
      
       - fix one more build warning with -Wmaybe-uninitialized
      
       - proper error handling in several COW-related cases
      
      * tag 'for-6.6-rc4-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux:
        btrfs: error out when reallocating block for defrag using a stale transaction
        btrfs: error when COWing block from a root that is being deleted
        btrfs: error out when COWing block using a stale transaction
        btrfs: always print transaction aborted messages with an error level
        btrfs: reject unknown mount options early
        btrfs: fix some -Wmaybe-uninitialized warnings in ioctl.c
      7de25c85
    • Linus Torvalds's avatar
      Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · 1d47ae27
      Linus Torvalds authored
      Pull arm64 fixes from Will Deacon:
       "A typo fix for a PMU driver, a workround for a side-channel erratum on
        Cortex-A520 and a fix for the local timer save/restore when using ACPI
        with Qualcomm's custom CPUs:
      
         - Workaround for Cortex-A520 erratum #2966298
      
         - Fix typo in Arm CMN PMU driver that breaks counter overflow handling
      
         - Fix timer handling across idle for Qualcomm custom CPUs"
      
      * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
        cpuidle, ACPI: Evaluate LPI arch_flags for broadcast timer
        arm64: errata: Add Cortex-A520 speculative unprivileged load workaround
        arm64: Add Cortex-A520 CPU part definition
        perf/arm-cmn: Fix the unhandled overflow status of counter 4 to 7
      1d47ae27
    • Linus Torvalds's avatar
      Merge tag 'drm-fixes-2023-10-06' of git://anongit.freedesktop.org/drm/drm · 4940c154
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "Regular weekly pull, all seems pretty normal, i915 and amdgpu mostly.
      
        There is one small new uAPI addition for nouveau but getting it in now
        avoids a bunch of userspace dances, and it's for a userspace that
        hasn't yet released, so should have no side effects.
      
        i915:
         - Fix for OpenGL CTS regression on Compute Shaders
         - Fix for default engines initialization
         - Fix TLB invalidation for Multi-GT devices
      
        amdgpu:
         - Add missing unique_id for GC 11.0.3
         - Fix memory leak in FRU error path
         - Fix PCIe link reporting on some SMU 11 parts
         - Fix ACPI _PR3 detection
         - Fix DISPCLK WDIVIDER handling in OTG code
      
        tests:
         - Fix kunit release
      
        panel:
         - panel-orientation: Add quirk for One Mix 25
      
        nouveau:
         - Report IB limit via getparams
         - Replace some magic numbers with constants
         - small clean up"
      
      * tag 'drm-fixes-2023-10-06' of git://anongit.freedesktop.org/drm/drm:
        drm/amd/display: apply edge-case DISPCLK WDIVIDER changes to master OTG pipes only
        drm/amd: Fix detection of _PR3 on the PCIe root port
        drm/amd: Fix logic error in sienna_cichlid_update_pcie_parameters()
        drm/amdgpu: Fix a memory leak
        drm/amd/pm: add unique_id for gc 11.0.3
        drm/i915: Invalidate the TLBs on each GT
        drm/i915: Register engines early to avoid type confusion
        drm/i915: Don't set PIPE_CONTROL_FLUSH_L3 for aux inval
        drm/nouveau: exec: report max pushs through getparam
        drm/nouveau: chan: use channel class definitions
        drm/nouveau: chan: use struct nvif_mclass
        drm: panel-orientation-quirks: Add quirk for One Mix 2S
        drm/tests: Fix kunit_release_action ctx argument
      4940c154
    • Uwe Kleine-König's avatar
      platform/x86: hp-wmi:: Mark driver struct with __refdata to prevent section mismatch warning · 5b44abbc
      Uwe Kleine-König authored
      As described in the added code comment, a reference to .exit.text is ok
      for drivers registered via module_platform_driver_probe(). Make this
      explicit to prevent a section mismatch warning:
      
      	WARNING: modpost: drivers/platform/x86/hp/hp-wmi: section mismatch in reference: hp_wmi_driver+0x8 (section: .data) -> hp_wmi_bios_remove (section: .exit.text)
      
      Fixes: c165b80c
      
       ("hp-wmi: fix handling of platform device")
      Signed-off-by: default avatarUwe Kleine-König <u.kleine-koenig@pengutronix.de>
      Link: https://lore.kernel.org/r/20231004111624.2667753-1-u.kleine-koenig@pengutronix.de
      
      
      Reviewed-by: default avatarHans de Goede <hdegoede@redhat.com>
      Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
      5b44abbc