1. 02 Jun, 2015 3 commits
    • Chuck Lever's avatar
      NFS: Fix size of NFSACL SETACL operations · d683cc49
      Chuck Lever authored
      When encoding the NFSACL SETACL operation, reserve just the estimated
      size of the ACL rather than a fixed maximum. This eliminates needless
      zero padding on the wire that the server ignores.
      
      Fixes: ee5dc773 ('NFS: Fix "kernel BUG at fs/nfs/nfs3xdr.c:1338!"')
      Signed-off-by: default avatarChuck Lever <chuck.lever@oracle.com>
      Signed-off-by: default avatarTrond Myklebust <trond.myklebust@primarydata.com>
      d683cc49
    • NeilBrown's avatar
      NFS: report more appropriate block size for directories. · 7ef5ca4f
      NeilBrown authored
      In glibc 2.21 (and several previous), a call to opendir() will
      result in a 32K (BUFSIZ*4) buffer being allocated and passed to
      getdents.
      
      However a call to fdopendir() results in an 'fstat' request to
      determine block size and a matching buffer allocated for subsequent
      use with getdents.  This will typically be 1M.
      
      The first getdents call on an NFS directory will always use
      READDIR_PLUS (or NFSv4 equivalent) if available.  Subsequent getdents
      calls only use this more expensive version if some 'stat' requests are
      made between the getdents calls.
      
      For this reason it is good to keep at least that first getdents call
      relatively short.  When fdopendir() and readdir() is used on a large
      directory, it takes approximately 32 times as long to complete as
      using "opendir".  Current versions of 'find' use fdopendir() and
      demonstrate this slowness.
      
      'stat' on a directory currently returns the 'wsize'.  This number has
      no meaning on directories.
      Actual READDIR requests are limited to ->dtsize, which itself is
      capped at 4 pages, coincidently the same as BUFSIZ*4.
      So this is a meaningful number to use as the blocksize on directories,
      and has the effect of making 'find' on large directories go a lot
      faster.
      Signed-off-by: default avatarNeilBrown <neilb@suse.de>
      Signed-off-by: default avatarTrond Myklebust <trond.myklebust@primarydata.com>
      7ef5ca4f
    • Trond Myklebust's avatar
      NFSv4: Always drain the slot table before re-establishing the lease · 5cae02f4
      Trond Myklebust authored
      While the NFSv4.1 code has always drained the slot tables in order to stop
      non-recovery related RPC calls when doing lease recovery, the NFSv4 code
      did not.
      The reason for the difference in behaviour is that NFSv4 does not have
      session state, and so RPC calls can in theory proceed while recovery is
      happening. In practice, however, anything I/O or state related needs to
      wait until recovery is over.
      
      This patch changes the behaviour of NFSv4 to match that of NFSv4.1 so that
      we can simplify the state recovery code by assuming that we do not have to
      deal with races between recovery and ordinary I/O.
      Signed-off-by: default avatarTrond Myklebust <trond.myklebust@primarydata.com>
      5cae02f4
  2. 01 Jun, 2015 2 commits
    • Olga Kornievskaia's avatar
      fixing infinite OPEN loop in 4.0 stateid recovery · e8d975e7
      Olga Kornievskaia authored
      Problem: When an operation like WRITE receives a BAD_STATEID, even though
      recovery code clears the RECLAIM_NOGRACE recovery flag before recovering
      the open state, because of clearing delegation state for the associated
      inode, nfs_inode_find_state_and_recover() gets called and it makes the
      same state with RECLAIM_NOGRACE flag again. As a results, when we restart
      looking over the open states, we end up in the infinite loop instead of
      breaking out in the next test of state flags.
      
      Solution: unset the RECLAIM_NOGRACE set because of
      calling of nfs_inode_find_state_and_recover() after returning from calling
      recover_open() function.
      Signed-off-by: default avatarOlga Kornievskaia <kolga@netapp.com>
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarTrond Myklebust <trond.myklebust@primarydata.com>
      e8d975e7
    • Linus Torvalds's avatar
      Linux 4.1-rc6 · c65b99f0
      Linus Torvalds authored
      c65b99f0
  3. 31 May, 2015 13 commits
  4. 30 May, 2015 3 commits
  5. 29 May, 2015 19 commits
    • Linus Torvalds's avatar
      Merge tag 'xfs-for-linus-4.1-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/dgc/linux-xfs · 1be44e23
      Linus Torvalds authored
      Pull xfs fixes from Dave Chinner:
       "This is a little larger than I'd like late in the release cycle, but
        all the fixes are for regressions introduced in the 4.1-rc1 merge, or
        are needed back in -stable kernels fairly quickly as they are
        filesystem corruption or userspace visible correctness issues.
      
        Changes in this update:
      
         - regression fix for new rename whiteout code
      
         - regression fixes for new superblock generic per-cpu counter code
      
         - fix for incorrect error return sign introduced in 3.17
      
         - metadata corruption fixes that need to go back to -stable kernels"
      
      * tag 'xfs-for-linus-4.1-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/dgc/linux-xfs:
        xfs: fix broken i_nlink accounting for whiteout tmpfile inode
        xfs: xfs_iozero can return positive errno
        xfs: xfs_attr_inactive leaves inconsistent attr fork state behind
        xfs: extent size hints can round up extents past MAXEXTLEN
        xfs: inode and free block counters need to use __percpu_counter_compare
        percpu_counter: batch size aware __percpu_counter_compare()
        xfs: use percpu_counter_read_positive for mp->m_icount
      1be44e23
    • Linus Torvalds's avatar
      Merge tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 2a645171
      Linus Torvalds authored
      Pull ARM SoC fixes from Arnd Bergmann:
       "Two weeks worth of small bug fixes this time, nothing sticking out
        this time:
      
         - one defconfig change to adapt to a modified Kconfig symbol
      
         - two fixes for i.MX for backwards compatibility with older DT files
           that was accidentally broken
      
         - one regression fix for irq handling on pxa
      
         - three small dt files on omap, and one each for imx and exynos"
      
      * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        ARM: multi_v7_defconfig: Replace CONFIG_USB_ISP1760_HCD by CONFIG_USB_ISP1760
        ARM: imx6: gpc: don't register power domain if DT data is missing
        ARM: imx6: allow booting with old DT
        ARM: dts: set display clock correctly for exynos4412-trats2
        ARM: pxa: pxa_cplds: signedness bug in probe
        ARM: dts: Fix WLAN interrupt line for AM335x EVM-SK
        ARM: dts: omap3-devkit8000: Fix NAND DT node
        ARM: dts: am335x-boneblack: disable RTC-only sleep
        ARM: dts: fix imx27 dtb build rule
        ARM: dts: imx27: only map 4 Kbyte for fec registers
      2a645171
    • Linus Torvalds's avatar
      Merge tag 'dm-4.1-fixes-3' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm · 0f1e5b5d
      Linus Torvalds authored
      Pull device-mapper fixes from Mike Snitzer:
       "Quite a few fixes for DM's blk-mq support thanks to extra DM multipath
        testing from Junichi Nomura and Bart Van Assche.
      
        Also fix a casting bug in dm_merge_bvec() that could cause only a
        single page to be added to a bio (Joe identified this while testing
        dm-cache writeback)"
      
      * tag 'dm-4.1-fixes-3' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
        dm: fix casting bug in dm_merge_bvec()
        dm: fix reload failure of 0 path multipath mapping on blk-mq devices
        dm: fix false warning in free_rq_clone() for unmapped requests
        dm: requeue from blk-mq dm_mq_queue_rq() using BLK_MQ_RQ_QUEUE_BUSY
        dm mpath: fix leak of dm_mpath_io structure in blk-mq .queue_rq error path
        dm: fix NULL pointer when clone_and_map_rq returns !DM_MAPIO_REMAPPED
        dm: run queue on re-queue
      0f1e5b5d
    • Guenter Roeck's avatar
      hwmon: (tmp401) Do not auto-detect chip on I2C address 0x37 · 9aecac04
      Guenter Roeck authored
      I2C address 0x37 may be used by EEPROMs, which can result in false
      positives. Do not attempt to detect a chip at this address.
      Reviewed-by: default avatarJean Delvare <jdelvare@suse.de>
      Cc: stable@vger.kernel.org # v4.0+
      Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
      9aecac04
    • Linus Torvalds's avatar
      Merge branch 'akpm' (patches from Andrew) · c2102f3d
      Linus Torvalds authored
      Merge misc fixes from Andrew Morton:
       "10 fixes"
      
      * emailed patches from Andrew Morton <akpm@linux-foundation.org>:
        scripts/gdb: fix lx-lsmod refcnt
        omfs: fix potential integer overflow in allocator
        omfs: fix sign confusion for bitmap loop counter
        omfs: set error return when d_make_root() fails
        fs, omfs: add NULL terminator in the end up the token list
        MAINTAINERS: update CAPABILITIES pattern
        fs/binfmt_elf.c:load_elf_binary(): return -EINVAL on zero-length mappings
        tracing/mm: don't trace mm_page_pcpu_drain on offline cpus
        tracing/mm: don't trace mm_page_free on offline cpus
        tracing/mm: don't trace kmem_cache_free on offline cpus
      c2102f3d
    • Linus Torvalds's avatar
      Merge tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux · 6e49ba1b
      Linus Torvalds authored
      Pull fixes for cpumask and modules from Rusty Russell:
       "** NOW WITH TESTING! **
      
        Two fixes which got lost in my recent distraction.  One is a weird
        cpumask function which needed to be rewritten, the other is a module
        bug which is cc:stable"
      
      * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux:
        cpumask_set_cpu_local_first => cpumask_local_spread, lament
        module: Call module notifier on failure after complete_formation()
      6e49ba1b
    • Maciej W. Rozycki's avatar
      MIPS: strnlen_user.S: Fix a CPU_DADDI_WORKAROUNDS regression · c4fca4fd
      Maciej W. Rozycki authored
      Correct a regression introduced with 8453eebd [MIPS: Fix strnlen_user()
      return value in case of overlong strings.] causing assembler warnings
      and broken code generated in __strnlen_kernel_nocheck_asm:
      
      arch/mips/lib/strnlen_user.S: Assembler messages:
      arch/mips/lib/strnlen_user.S:64: Warning: Macro instruction expanded into multiple instructions in a branch delay slot
      
      with the CPU_DADDI_WORKAROUNDS option set, resulting in the function
      looping indefinitely upon mounting NFS root.
      
      Use conditional assembly to avoid a microMIPS code size regression.
      Using $at unconditionally would cause such a regression as there are no
      16-bit instruction encodings available for ALU operations using this
      register.  Using $v1 unconditionally would produce short microMIPS
      encodings, but would prevent this register from being used across calls
      to this function.
      
      The extra LI operation introduced is free, replacing a NOP originally
      scheduled into the delay slot of the branch that follows.
      Signed-off-by: default avatarMaciej W. Rozycki <macro@linux-mips.org>
      Cc: linux-mips@linux-mips.org
      Patchwork: https://patchwork.linux-mips.org/patch/10205/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      c4fca4fd
    • Petri Gynther's avatar
      MIPS: BMIPS: Fix bmips_wr_vec() · 57b41758
      Petri Gynther authored
      bmips_wr_vec() copies exception vector code from start to dst.
      
      The call to dma_cache_wback() needs to flush (end-start) bytes,
      starting at dst, from write-back cache to memory.
      Signed-off-by: default avatarPetri Gynther <pgynther@google.com>
      Acked-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Reviewed-by: default avatarKevin Cernekee <cernekee@gmail.com>
      Cc: linux-mips@linux-mips.org
      Patchwork: https://patchwork.linux-mips.org/patch/10193/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      57b41758
    • Laurent Fasnacht's avatar
      MIPS: ath79: fix build problem if CONFIG_BLK_DEV_INITRD is not set · 556b6629
      Laurent Fasnacht authored
      initrd_start is defined in init/do_mounts_initrd.c, which is only
      included in kernel if CONFIG_BLK_DEV_INITRD=y.
      Signed-off-by: default avatarLaurent Fasnacht <l@libres.ch>
      Cc: linux-mips@linux-mips.org
      Cc: trivial@kernel.org
      Patchwork: https://patchwork.linux-mips.org/patch/10198/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      556b6629
    • Linus Torvalds's avatar
      Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux · d0af6988
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "This is made up 4 groups of fixes detailed below.
      
        vgem:
            Due to some misgivings about possible bad use cases this allow,
            backout a chunk of the interface to stop those use cases for now.
      
        radeon:
            Fix for an oops regression in the audio code, and a partial revert
            for a fix that was cauing problems.
      
        nouveau:
            regression fix for Fermi, and display-less Maxwell boot fixes.
      
        drm core:
            a fix for i915 cursor vblank waiting in the atomic helpers"
      
      * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
        drm/nouveau/gr/gm204: remove a stray printk
        drm/nouveau/devinit/gm100-: force devinit table execution on boards without PDISP
        drm/nouveau/devinit/gf100: make the force-post condition more obvious
        drm/nouveau/gr/gf100-: fix wrong constant definition
        drm/radeon: partially revert "fix VM_CONTEXT*_PAGE_TABLE_END_ADDR handling"
        drm/radeon/audio: make sure connector is valid in hotplug case
        Revert "drm/radeon: only mark audio as connected if the monitor supports it (v3)"
        drm/radeon: don't share plls if monitors differ in audio support
        drm/vgem: drop DRIVER_PRIME (v2)
        drm/plane-helper: Adapt cursor hack to transitional helpers
      d0af6988
    • Linus Torvalds's avatar
      Merge tag 'sound-4.1-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 70946b5d
      Linus Torvalds authored
      Pull sound fixes from Takashi Iwai:
       "No big surprise here, just a bunch of small fixes for HD-audio and
        USB-audio:
      
         - partial revert of widget power-saving for IDT codecs
         - revert mute-LED enum ctl for Thinkpads due to confusion
         - a quirk for a new Radeon HDMI controller
         - Realtek codec name fix for Dell
         - a workaround for headphone mic boost on some laptops
         - stream_pm ops setup (and its fix for regression)
         - another quirk for MS LifeCam USB-audio"
      
      * tag 'sound-4.1-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
        ALSA: hda - Fix lost sound due to stream_pm ops cleanup
        ALSA: hda - Disable Headphone Mic boost for ALC662
        ALSA: hda - Disable power_save_node for IDT92HD71bxx
        ALSA: hda - Fix noise on AMD radeon 290x controller
        ALSA: hda - Set stream_pm ops automatically by generic parser
        ALSA: hda/realtek - Add ALC256 alias name for Dell
        Revert "ALSA: hda - Add mute-LED mode control to Thinkpad"
        ALSA: usb-audio: Add quirk for MS LifeCam HD-3000
      70946b5d
    • Joe Thornber's avatar
      dm: fix casting bug in dm_merge_bvec() · 1c220c69
      Joe Thornber authored
      dm_merge_bvec() was originally added in f6fccb ("dm: introduce
      merge_bvec_fn").  In that commit a value in sectors is converted to
      bytes using << 9, and then assigned to an int.  This code made
      assumptions about the value of BIO_MAX_SECTORS.
      
      A later commit 148e51 ("dm: improve documentation and code clarity in
      dm_merge_bvec") was meant to have no functional change but it removed
      the use of BIO_MAX_SECTORS in favor of using queue_max_sectors().  At
      this point the cast from sector_t to int resulted in a zero value.  The
      fallout being dm_merge_bvec() would only allow a single page to be added
      to a bio.
      
      This interim fix is minimal for the benefit of stable@ because the more
      comprehensive cleanup of passing a sector_t to all DM targets' merge
      function will impact quite a few DM targets.
      Signed-off-by: default avatarJoe Thornber <ejt@redhat.com>
      Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
      Cc: stable@vger.kernel.org # 3.19+
      1c220c69
    • Junichi Nomura's avatar
      dm: fix reload failure of 0 path multipath mapping on blk-mq devices · 15b94a69
      Junichi Nomura authored
      dm-multipath accepts 0 path mapping.
      
        # echo '0 2097152 multipath 0 0 0 0' | dmsetup create newdev
      
      Such a mapping can be used to release underlying devices while still
      holding requests in its queue until working paths come back.
      
      However, once the multipath device is created over blk-mq devices,
      it rejects reloading of 0 path mapping:
      
        # echo '0 2097152 multipath 0 0 1 1 queue-length 0 1 1 /dev/sda 1' \
            | dmsetup create mpath1
        # echo '0 2097152 multipath 0 0 0 0' | dmsetup load mpath1
        device-mapper: reload ioctl on mpath1 failed: Invalid argument
        Command failed
      
      With following kernel message:
        device-mapper: ioctl: can't change device type after initial table load.
      
      DM tries to inherit the current table type using dm_table_set_type()
      but it doesn't work as expected because of unnecessary check about
      whether the target type is hybrid or not.
      
      Hybrid type is for targets that work as either request-based or bio-based
      and not required for blk-mq or non blk-mq checking.
      
      Fixes: 65803c20 ("dm table: train hybrid target type detection to select blk-mq if appropriate")
      Signed-off-by: default avatarJun'ichi Nomura <j-nomura@ce.jp.nec.com>
      Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
      15b94a69
    • Linus Torvalds's avatar
      Merge tag 'md/4.1-rc5-fixes' of git://neil.brown.name/md · c492e2d4
      Linus Torvalds authored
      Pull m,ore md bugfixes gfrom Neil Brown:
       "Assorted fixes for new RAID5 stripe-batching functionality.
      
        Unfortunately this functionality was merged a little prematurely.  The
        necessary testing and code review is now complete (or as complete as
        it can be) and to code passes a variety of tests and looks quite
        sensible.
      
        Also a fix for some recent locking changes - a race was introduced
        which causes a reshape request to sometimes fail.  No data safety
        issues"
      
      * tag 'md/4.1-rc5-fixes' of git://neil.brown.name/md:
        md: fix race when unfreezing sync_action
        md/raid5: break stripe-batches when the array has failed.
        md/raid5: call break_stripe_batch_list from handle_stripe_clean_event
        md/raid5: be more selective about distributing flags across batch.
        md/raid5: add handle_flags arg to break_stripe_batch_list.
        md/raid5: duplicate some more handle_stripe_clean_event code in break_stripe_batch_list
        md/raid5: remove condition test from check_break_stripe_batch_list.
        md/raid5: Ensure a batch member is not handled prematurely.
        md/raid5: close race between STRIPE_BIT_DELAY and batching.
        md/raid5: ensure whole batch is delayed for all required bitmap updates.
      c492e2d4
    • Mike Snitzer's avatar
      dm: fix false warning in free_rq_clone() for unmapped requests · e5d8de32
      Mike Snitzer authored
      When stacking request-based dm device on non blk-mq device and
      device-mapper target could not map the request (error target is used,
      multipath target with all paths down, etc), the WARN_ON_ONCE() in
      free_rq_clone() will trigger when it shouldn't.
      
      The warning was added by commit aa6df8dd ("dm: fix free_rq_clone() NULL
      pointer when requeueing unmapped request").  But free_rq_clone() with
      clone->q == NULL is valid usage for the case where
      dm_kill_unmapped_request() initiates request cleanup.
      
      Fix this false warning by just removing the WARN_ON -- it only generated
      false positives and was never useful in catching the intended case
      (completing clone request not being mapped e.g. clone->q being NULL).
      
      Fixes: aa6df8dd ("dm: fix free_rq_clone() NULL pointer when requeueing unmapped request")
      Reported-by: default avatarBart Van Assche <bart.vanassche@sandisk.com>
      Reported-by: default avatarJun'ichi Nomura <j-nomura@ce.jp.nec.com>
      Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
      e5d8de32
    • Geert Uytterhoeven's avatar
      ARM: multi_v7_defconfig: Replace CONFIG_USB_ISP1760_HCD by CONFIG_USB_ISP1760 · 5530c84f
      Geert Uytterhoeven authored
      Since commit 100832ab ("usb: isp1760: Make HCD support
      optional"), CONFIG_USB_ISP1760_HCD is automatically selected when
      needed.  Enabling that option in the defconfig is now a no-op, and no
      longer enables ISP1760 HCD support.
      
      Re-enable the ISP1760 driver in the defconfig by enabling
      USB_ISP1760_HOST_ROLE instead.
      Signed-off-by: default avatarGeert Uytterhoeven <geert+renesas@glider.be>
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      5530c84f
    • Arnd Bergmann's avatar
      Merge tag 'imx-fixes-4.1-3' of... · 7bbfbb98
      Arnd Bergmann authored
      Merge tag 'imx-fixes-4.1-3' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into fixes
      
      Merge "The i.MX fixes for 4.1, 3rd round" from Shawn Guo:
      
      It includes a couple of fixes for i.MX6 GPC code to let the new kernel
      be able to boot with old DTBs:
      
       - Booting v4.1-rc kernel with old DTBs will fail with a fat warning
         (require low-level debug to be seen), due to the adoption of stacked
         IRQ domain.  The first fix improves the situation by allowing kernel
         boot up with old DTBs, although suspend/resume still breaks.
      
       - Booting new kernel with old DTBs that do not have power-domain info
         will result in a hang.  The second patch fixes the hang by skipping
         the kernel power-domain registration if DTB has no power-domain info.
      
      * tag 'imx-fixes-4.1-3' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
        ARM: imx6: gpc: don't register power domain if DT data is missing
        ARM: imx6: allow booting with old DT
      7bbfbb98
    • Arnd Bergmann's avatar
      Merge tag 'samsung-fixes-3' of... · 4eaf9ed7
      Arnd Bergmann authored
      Merge tag 'samsung-fixes-3' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into fixes
      
      Merge "Samsung fix for v4.1" from Kukjin Kim:
      
      - Set display clock correctly for exynos4412-trats2
        : fix the following error
      
          exynos-drm: No connectors reported connected with modes
          [drm] Cannot find any crtc or sizes - going 1024x768
      
      * tag 'samsung-fixes-3' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
        ARM: dts: set display clock correctly for exynos4412-trats2
      4eaf9ed7
    • Takashi Iwai's avatar
      ALSA: hda - Fix lost sound due to stream_pm ops cleanup · b47eee2e
      Takashi Iwai authored
      The commit [49fb1897: ALSA: hda - Set stream_pm ops automatically
      by generic parser] resulted in regressions on some Realtek and VIA
      codecs because these drivers set patch_ops after calling the generic
      parser, thus stream_pm got cleared to NULL again.  I haven't noticed
      since I tested with IDT codec.
      
      Restore (partial revert) the stream_pm ops for them to fix the
      regression.
      
      Fixes: 49fb1897 ('ALSA: hda - Set stream_pm ops automatically by generic parser')
      Reported-by: default avatarJeremiah Mahler <jmmahler@gmail.com>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      b47eee2e