Hello community,

here is the log from the commit of package kernel-source for openSUSE:Factory 
checked in at 2015-06-23 12:05:00
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kernel-source (Old)
 and      /work/SRC/openSUSE:Factory/.kernel-source.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "kernel-source"

Changes:
--------
--- /work/SRC/openSUSE:Factory/kernel-source/kernel-debug.changes       
2015-06-15 18:18:20.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.kernel-source.new/kernel-debug.changes  
2015-06-23 12:05:02.000000000 +0200
@@ -1,0 +2,20 @@
+Thu Jun 18 17:11:04 CEST 2015 - [email protected]
+
+- Btrfs: fix regression in raid level conversion.
+- Btrfs: fix uninit variable in clone ioctl.
+- Btrfs: fix range cloning when same inode used as source and
+  destination.
+- btrfs: cleanup orphans while looking up default subvolume.
+- btrfs: incorrect handling for fiemap_fill_next_extent return.
+- Btrfs: send, don't leave without decrementing clone root's
+  send_progress.
+- Btrfs: send, add missing check for dead clone root.
+- commit 56152db
+
+-------------------------------------------------------------------
+Fri Jun 12 15:39:21 CEST 2015 - [email protected]
+
+- Update config files: extend CONFIG_DPM_WATCHDOG_TIMEOUT to 60 (bnc#934397)
+- commit b5e86cc
+
+-------------------------------------------------------------------
kernel-default.changes: same change
kernel-desktop.changes: same change
kernel-docs.changes: same change
kernel-ec2.changes: same change
kernel-lpae.changes: same change
kernel-obs-build.changes: same change
kernel-obs-qa-xen.changes: same change
kernel-obs-qa.changes: same change
kernel-pae.changes: same change
kernel-pv.changes: same change
kernel-source.changes: same change
kernel-syms.changes: same change
kernel-vanilla.changes: same change
kernel-xen.changes: same change

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ kernel-debug.spec ++++++
--- /var/tmp/diff_new_pack.V9fsZy/_old  2015-06-23 12:05:08.000000000 +0200
+++ /var/tmp/diff_new_pack.V9fsZy/_new  2015-06-23 12:05:08.000000000 +0200
@@ -61,7 +61,7 @@
 Group:          System/Kernel
 Version:        4.0.5
 %if 0%{?is_kotd}
-Release:        <RELEASE>.g0e899eb
+Release:        <RELEASE>.g56152db
 %else
 Release:        0
 %endif

kernel-default.spec: same change
kernel-desktop.spec: same change
++++++ kernel-docs.spec ++++++
--- /var/tmp/diff_new_pack.V9fsZy/_old  2015-06-23 12:05:08.000000000 +0200
+++ /var/tmp/diff_new_pack.V9fsZy/_new  2015-06-23 12:05:08.000000000 +0200
@@ -29,7 +29,7 @@
 Group:          Documentation/Man
 Version:        4.0.5
 %if 0%{?is_kotd}
-Release:        <RELEASE>.g0e899eb
+Release:        <RELEASE>.g56152db
 %else
 Release:        0
 %endif

++++++ kernel-ec2.spec ++++++
--- /var/tmp/diff_new_pack.V9fsZy/_old  2015-06-23 12:05:08.000000000 +0200
+++ /var/tmp/diff_new_pack.V9fsZy/_new  2015-06-23 12:05:08.000000000 +0200
@@ -61,7 +61,7 @@
 Group:          System/Kernel
 Version:        4.0.5
 %if 0%{?is_kotd}
-Release:        <RELEASE>.g0e899eb
+Release:        <RELEASE>.g56152db
 %else
 Release:        0
 %endif

kernel-lpae.spec: same change
++++++ kernel-obs-build.spec ++++++
--- /var/tmp/diff_new_pack.V9fsZy/_old  2015-06-23 12:05:08.000000000 +0200
+++ /var/tmp/diff_new_pack.V9fsZy/_new  2015-06-23 12:05:08.000000000 +0200
@@ -47,7 +47,7 @@
 Group:          SLES
 Version:        4.0.5
 %if 0%{?is_kotd}
-Release:        <RELEASE>.g0e899eb
+Release:        <RELEASE>.g56152db
 %else
 Release:        0
 %endif

kernel-obs-qa-xen.spec: same change
kernel-obs-qa.spec: same change
++++++ kernel-pae.spec ++++++
--- /var/tmp/diff_new_pack.V9fsZy/_old  2015-06-23 12:05:08.000000000 +0200
+++ /var/tmp/diff_new_pack.V9fsZy/_new  2015-06-23 12:05:08.000000000 +0200
@@ -61,7 +61,7 @@
 Group:          System/Kernel
 Version:        4.0.5
 %if 0%{?is_kotd}
-Release:        <RELEASE>.g0e899eb
+Release:        <RELEASE>.g56152db
 %else
 Release:        0
 %endif

kernel-pv.spec: same change
++++++ kernel-source.spec ++++++
--- /var/tmp/diff_new_pack.V9fsZy/_old  2015-06-23 12:05:08.000000000 +0200
+++ /var/tmp/diff_new_pack.V9fsZy/_new  2015-06-23 12:05:08.000000000 +0200
@@ -32,7 +32,7 @@
 Group:          Development/Sources
 Version:        4.0.5
 %if 0%{?is_kotd}
-Release:        <RELEASE>.g0e899eb
+Release:        <RELEASE>.g56152db
 %else
 Release:        0
 %endif

++++++ kernel-syms.spec ++++++
--- /var/tmp/diff_new_pack.V9fsZy/_old  2015-06-23 12:05:08.000000000 +0200
+++ /var/tmp/diff_new_pack.V9fsZy/_new  2015-06-23 12:05:08.000000000 +0200
@@ -27,7 +27,7 @@
 Version:        4.0.5
 %if %using_buildservice
 %if 0%{?is_kotd}
-Release:        <RELEASE>.g0e899eb
+Release:        <RELEASE>.g56152db
 %else
 Release:        0
 %endif

++++++ kernel-vanilla.spec ++++++
--- /var/tmp/diff_new_pack.V9fsZy/_old  2015-06-23 12:05:08.000000000 +0200
+++ /var/tmp/diff_new_pack.V9fsZy/_new  2015-06-23 12:05:08.000000000 +0200
@@ -61,7 +61,7 @@
 Group:          System/Kernel
 Version:        4.0.5
 %if 0%{?is_kotd}
-Release:        <RELEASE>.g0e899eb
+Release:        <RELEASE>.g56152db
 %else
 Release:        0
 %endif

kernel-xen.spec: same change
++++++ config.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/config/arm64/default new/config/arm64/default
--- old/config/arm64/default    2015-05-19 12:31:37.000000000 +0200
+++ new/config/arm64/default    2015-06-12 15:39:21.000000000 +0200
@@ -483,7 +483,7 @@
 # CONFIG_PM_TEST_SUSPEND is not set
 CONFIG_PM_SLEEP_DEBUG=y
 CONFIG_DPM_WATCHDOG=y
-CONFIG_DPM_WATCHDOG_TIMEOUT=12
+CONFIG_DPM_WATCHDOG_TIMEOUT=60
 CONFIG_PM_OPP=y
 CONFIG_PM_CLK=y
 # CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/config/arm64/vanilla new/config/arm64/vanilla
--- old/config/arm64/vanilla    2015-05-19 12:31:37.000000000 +0200
+++ new/config/arm64/vanilla    2015-06-12 15:39:21.000000000 +0200
@@ -470,7 +470,7 @@
 # CONFIG_PM_TEST_SUSPEND is not set
 CONFIG_PM_SLEEP_DEBUG=y
 CONFIG_DPM_WATCHDOG=y
-CONFIG_DPM_WATCHDOG_TIMEOUT=12
+CONFIG_DPM_WATCHDOG_TIMEOUT=60
 CONFIG_PM_OPP=y
 CONFIG_PM_CLK=y
 # CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/config/armv6hl/default new/config/armv6hl/default
--- old/config/armv6hl/default  2015-05-19 12:31:37.000000000 +0200
+++ new/config/armv6hl/default  2015-06-12 15:39:21.000000000 +0200
@@ -646,7 +646,7 @@
 # CONFIG_PM_TEST_SUSPEND is not set
 CONFIG_PM_SLEEP_DEBUG=y
 CONFIG_DPM_WATCHDOG=y
-CONFIG_DPM_WATCHDOG_TIMEOUT=12
+CONFIG_DPM_WATCHDOG_TIMEOUT=60
 CONFIG_APM_EMULATION=m
 CONFIG_PM_OPP=y
 CONFIG_PM_CLK=y
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/config/armv6hl/vanilla new/config/armv6hl/vanilla
--- old/config/armv6hl/vanilla  2015-05-19 12:31:37.000000000 +0200
+++ new/config/armv6hl/vanilla  2015-06-12 15:39:21.000000000 +0200
@@ -644,7 +644,7 @@
 # CONFIG_PM_TEST_SUSPEND is not set
 CONFIG_PM_SLEEP_DEBUG=y
 CONFIG_DPM_WATCHDOG=y
-CONFIG_DPM_WATCHDOG_TIMEOUT=12
+CONFIG_DPM_WATCHDOG_TIMEOUT=60
 CONFIG_APM_EMULATION=m
 CONFIG_PM_OPP=y
 CONFIG_PM_CLK=y
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/config/armv7hl/default new/config/armv7hl/default
--- old/config/armv7hl/default  2015-05-19 12:31:37.000000000 +0200
+++ new/config/armv7hl/default  2015-06-12 15:39:21.000000000 +0200
@@ -954,7 +954,7 @@
 # CONFIG_PM_TEST_SUSPEND is not set
 CONFIG_PM_SLEEP_DEBUG=y
 CONFIG_DPM_WATCHDOG=y
-CONFIG_DPM_WATCHDOG_TIMEOUT=12
+CONFIG_DPM_WATCHDOG_TIMEOUT=60
 CONFIG_APM_EMULATION=m
 CONFIG_PM_OPP=y
 CONFIG_PM_CLK=y
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/config/armv7hl/lpae new/config/armv7hl/lpae
--- old/config/armv7hl/lpae     2015-05-19 12:31:37.000000000 +0200
+++ new/config/armv7hl/lpae     2015-06-12 15:39:21.000000000 +0200
@@ -861,7 +861,7 @@
 # CONFIG_PM_TEST_SUSPEND is not set
 CONFIG_PM_SLEEP_DEBUG=y
 CONFIG_DPM_WATCHDOG=y
-CONFIG_DPM_WATCHDOG_TIMEOUT=12
+CONFIG_DPM_WATCHDOG_TIMEOUT=60
 CONFIG_APM_EMULATION=m
 CONFIG_PM_OPP=y
 CONFIG_PM_CLK=y
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/config/armv7hl/vanilla new/config/armv7hl/vanilla
--- old/config/armv7hl/vanilla  2015-05-19 12:31:37.000000000 +0200
+++ new/config/armv7hl/vanilla  2015-06-12 15:39:21.000000000 +0200
@@ -952,7 +952,7 @@
 # CONFIG_PM_TEST_SUSPEND is not set
 CONFIG_PM_SLEEP_DEBUG=y
 CONFIG_DPM_WATCHDOG=y
-CONFIG_DPM_WATCHDOG_TIMEOUT=12
+CONFIG_DPM_WATCHDOG_TIMEOUT=60
 CONFIG_APM_EMULATION=m
 CONFIG_PM_OPP=y
 CONFIG_PM_CLK=y
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/config/i386/debug new/config/i386/debug
--- old/config/i386/debug       2015-05-19 12:31:37.000000000 +0200
+++ new/config/i386/debug       2015-06-12 15:39:21.000000000 +0200
@@ -589,7 +589,7 @@
 # CONFIG_PM_TEST_SUSPEND is not set
 CONFIG_PM_SLEEP_DEBUG=y
 CONFIG_DPM_WATCHDOG=y
-CONFIG_DPM_WATCHDOG_TIMEOUT=12
+CONFIG_DPM_WATCHDOG_TIMEOUT=60
 CONFIG_PM_TRACE=y
 CONFIG_PM_TRACE_RTC=y
 CONFIG_PM_CLK=y
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/config/i386/default new/config/i386/default
--- old/config/i386/default     2015-05-19 12:31:37.000000000 +0200
+++ new/config/i386/default     2015-06-12 15:39:21.000000000 +0200
@@ -580,7 +580,7 @@
 # CONFIG_PM_TEST_SUSPEND is not set
 CONFIG_PM_SLEEP_DEBUG=y
 CONFIG_DPM_WATCHDOG=y
-CONFIG_DPM_WATCHDOG_TIMEOUT=12
+CONFIG_DPM_WATCHDOG_TIMEOUT=60
 CONFIG_PM_TRACE=y
 CONFIG_PM_TRACE_RTC=y
 CONFIG_PM_CLK=y
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/config/i386/desktop new/config/i386/desktop
--- old/config/i386/desktop     2015-05-19 12:31:37.000000000 +0200
+++ new/config/i386/desktop     2015-06-12 15:39:21.000000000 +0200
@@ -592,7 +592,7 @@
 # CONFIG_PM_TEST_SUSPEND is not set
 CONFIG_PM_SLEEP_DEBUG=y
 CONFIG_DPM_WATCHDOG=y
-CONFIG_DPM_WATCHDOG_TIMEOUT=12
+CONFIG_DPM_WATCHDOG_TIMEOUT=60
 CONFIG_PM_TRACE=y
 CONFIG_PM_TRACE_RTC=y
 CONFIG_PM_CLK=y
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/config/i386/pae new/config/i386/pae
--- old/config/i386/pae 2015-05-19 12:31:37.000000000 +0200
+++ new/config/i386/pae 2015-06-12 15:39:21.000000000 +0200
@@ -594,7 +594,7 @@
 # CONFIG_PM_TEST_SUSPEND is not set
 CONFIG_PM_SLEEP_DEBUG=y
 CONFIG_DPM_WATCHDOG=y
-CONFIG_DPM_WATCHDOG_TIMEOUT=12
+CONFIG_DPM_WATCHDOG_TIMEOUT=60
 CONFIG_PM_TRACE=y
 CONFIG_PM_TRACE_RTC=y
 CONFIG_PM_CLK=y
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/config/i386/pv new/config/i386/pv
--- old/config/i386/pv  2015-05-19 12:31:37.000000000 +0200
+++ new/config/i386/pv  2015-06-12 15:39:21.000000000 +0200
@@ -602,7 +602,7 @@
 # CONFIG_PM_TEST_SUSPEND is not set
 CONFIG_PM_SLEEP_DEBUG=y
 CONFIG_DPM_WATCHDOG=y
-CONFIG_DPM_WATCHDOG_TIMEOUT=12
+CONFIG_DPM_WATCHDOG_TIMEOUT=60
 CONFIG_PM_TRACE=y
 CONFIG_PM_TRACE_RTC=y
 CONFIG_PM_CLK=y
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/config/i386/vanilla new/config/i386/vanilla
--- old/config/i386/vanilla     2015-05-19 12:31:37.000000000 +0200
+++ new/config/i386/vanilla     2015-06-12 15:39:21.000000000 +0200
@@ -578,7 +578,7 @@
 # CONFIG_PM_TEST_SUSPEND is not set
 CONFIG_PM_SLEEP_DEBUG=y
 CONFIG_DPM_WATCHDOG=y
-CONFIG_DPM_WATCHDOG_TIMEOUT=12
+CONFIG_DPM_WATCHDOG_TIMEOUT=60
 CONFIG_PM_TRACE=y
 CONFIG_PM_TRACE_RTC=y
 CONFIG_PM_CLK=y
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/config/i386/xen new/config/i386/xen
--- old/config/i386/xen 2015-05-19 12:31:37.000000000 +0200
+++ new/config/i386/xen 2015-06-12 15:39:21.000000000 +0200
@@ -494,7 +494,7 @@
 # CONFIG_PM_TEST_SUSPEND is not set
 CONFIG_PM_SLEEP_DEBUG=y
 CONFIG_DPM_WATCHDOG=y
-CONFIG_DPM_WATCHDOG_TIMEOUT=12
+CONFIG_DPM_WATCHDOG_TIMEOUT=60
 CONFIG_PM_TRACE=y
 CONFIG_PM_TRACE_RTC=y
 CONFIG_PM_CLK=y
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/config/x86_64/debug new/config/x86_64/debug
--- old/config/x86_64/debug     2015-05-19 12:31:37.000000000 +0200
+++ new/config/x86_64/debug     2015-06-12 15:39:21.000000000 +0200
@@ -582,7 +582,7 @@
 # CONFIG_PM_TEST_SUSPEND is not set
 CONFIG_PM_SLEEP_DEBUG=y
 CONFIG_DPM_WATCHDOG=y
-CONFIG_DPM_WATCHDOG_TIMEOUT=12
+CONFIG_DPM_WATCHDOG_TIMEOUT=60
 CONFIG_PM_TRACE=y
 CONFIG_PM_TRACE_RTC=y
 CONFIG_PM_CLK=y
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/config/x86_64/default new/config/x86_64/default
--- old/config/x86_64/default   2015-05-19 12:31:37.000000000 +0200
+++ new/config/x86_64/default   2015-06-12 15:39:21.000000000 +0200
@@ -587,7 +587,7 @@
 # CONFIG_PM_TEST_SUSPEND is not set
 CONFIG_PM_SLEEP_DEBUG=y
 CONFIG_DPM_WATCHDOG=y
-CONFIG_DPM_WATCHDOG_TIMEOUT=12
+CONFIG_DPM_WATCHDOG_TIMEOUT=60
 CONFIG_PM_TRACE=y
 CONFIG_PM_TRACE_RTC=y
 CONFIG_PM_CLK=y
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/config/x86_64/desktop new/config/x86_64/desktop
--- old/config/x86_64/desktop   2015-05-19 12:31:37.000000000 +0200
+++ new/config/x86_64/desktop   2015-06-12 15:39:21.000000000 +0200
@@ -585,7 +585,7 @@
 # CONFIG_PM_TEST_SUSPEND is not set
 CONFIG_PM_SLEEP_DEBUG=y
 CONFIG_DPM_WATCHDOG=y
-CONFIG_DPM_WATCHDOG_TIMEOUT=12
+CONFIG_DPM_WATCHDOG_TIMEOUT=60
 CONFIG_PM_TRACE=y
 CONFIG_PM_TRACE_RTC=y
 CONFIG_PM_CLK=y
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/config/x86_64/pv new/config/x86_64/pv
--- old/config/x86_64/pv        2015-05-19 12:31:37.000000000 +0200
+++ new/config/x86_64/pv        2015-06-12 15:39:21.000000000 +0200
@@ -594,7 +594,7 @@
 # CONFIG_PM_TEST_SUSPEND is not set
 CONFIG_PM_SLEEP_DEBUG=y
 CONFIG_DPM_WATCHDOG=y
-CONFIG_DPM_WATCHDOG_TIMEOUT=12
+CONFIG_DPM_WATCHDOG_TIMEOUT=60
 CONFIG_PM_TRACE=y
 CONFIG_PM_TRACE_RTC=y
 CONFIG_PM_CLK=y
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/config/x86_64/vanilla new/config/x86_64/vanilla
--- old/config/x86_64/vanilla   2015-05-19 12:31:37.000000000 +0200
+++ new/config/x86_64/vanilla   2015-06-12 15:39:21.000000000 +0200
@@ -585,7 +585,7 @@
 # CONFIG_PM_TEST_SUSPEND is not set
 CONFIG_PM_SLEEP_DEBUG=y
 CONFIG_DPM_WATCHDOG=y
-CONFIG_DPM_WATCHDOG_TIMEOUT=12
+CONFIG_DPM_WATCHDOG_TIMEOUT=60
 CONFIG_PM_TRACE=y
 CONFIG_PM_TRACE_RTC=y
 CONFIG_PM_CLK=y
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/config/x86_64/xen new/config/x86_64/xen
--- old/config/x86_64/xen       2015-05-19 12:31:37.000000000 +0200
+++ new/config/x86_64/xen       2015-06-12 15:39:21.000000000 +0200
@@ -484,7 +484,7 @@
 # CONFIG_PM_TEST_SUSPEND is not set
 CONFIG_PM_SLEEP_DEBUG=y
 CONFIG_DPM_WATCHDOG=y
-CONFIG_DPM_WATCHDOG_TIMEOUT=12
+CONFIG_DPM_WATCHDOG_TIMEOUT=60
 CONFIG_PM_TRACE=y
 CONFIG_PM_TRACE_RTC=y
 CONFIG_PM_CLK=y

++++++ patches.fixes.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.fixes/btrfs-0001-send-add-missing-check-for-dead-clone-root.patch 
new/patches.fixes/btrfs-0001-send-add-missing-check-for-dead-clone-root.patch
--- 
old/patches.fixes/btrfs-0001-send-add-missing-check-for-dead-clone-root.patch   
    1970-01-01 01:00:00.000000000 +0100
+++ 
new/patches.fixes/btrfs-0001-send-add-missing-check-for-dead-clone-root.patch   
    2015-06-18 17:11:06.000000000 +0200
@@ -0,0 +1,35 @@
+From: Filipe Manana <[email protected]>
+Date: Mon, 2 Mar 2015 20:53:52 +0000
+Patch-mainline: 4.1
+Git-commit: 571534e54794d7e861651e77c539d475b3e69cba
+Subject: [PATCH] Btrfs: send, add missing check for dead clone root
+
+After we locked the root's root item, a concurrent snapshot deletion
+call might have set the dead flag on it. So check if the dead flag
+is set and abort if it is, just like we do for the parent root.
+
+Signed-off-by: Filipe Manana <[email protected]>
+Reviewed-by: David Sterba <[email protected]>
+Signed-off-by: Chris Mason <[email protected]>
+Signed-off-by: David Sterba <[email protected]>
+---
+ fs/btrfs/send.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/fs/btrfs/send.c b/fs/btrfs/send.c
+index d6033f540cc7..6ec28f13659e 100644
+--- a/fs/btrfs/send.c
++++ b/fs/btrfs/send.c
+@@ -5855,7 +5855,8 @@ long btrfs_ioctl_send(struct file *mnt_file, void __user 
*arg_)
+                       clone_sources_to_rollback = i + 1;
+                       spin_lock(&clone_root->root_item_lock);
+                       clone_root->send_in_progress++;
+-                      if (!btrfs_root_readonly(clone_root)) {
++                      if (!btrfs_root_readonly(clone_root) ||
++                          btrfs_root_dead(clone_root)) {
+                               spin_unlock(&clone_root->root_item_lock);
+                               srcu_read_unlock(&fs_info->subvol_srcu, index);
+                               ret = -EPERM;
+-- 
+2.1.3
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.fixes/btrfs-0002-send-don-t-leave-without-decrementing-clone-ro.patch
 
new/patches.fixes/btrfs-0002-send-don-t-leave-without-decrementing-clone-ro.patch
--- 
old/patches.fixes/btrfs-0002-send-don-t-leave-without-decrementing-clone-ro.patch
   1970-01-01 01:00:00.000000000 +0100
+++ 
new/patches.fixes/btrfs-0002-send-don-t-leave-without-decrementing-clone-ro.patch
   2015-06-18 17:11:06.000000000 +0200
@@ -0,0 +1,64 @@
+From: Filipe Manana <[email protected]>
+Date: Mon, 2 Mar 2015 20:53:53 +0000
+Patch-mainline: 4.1
+Git-commit: 27824c380c8dd68167729f5dc9cff97598534745
+Subject: [PATCH] Btrfs: send, don't leave without decrementing clone
+ root's send_progress
+
+If the clone root was not readonly or the dead flag was set on it, we were
+leaving without decrementing the root's send_progress counter (and before
+we just incremented it). If a concurrent snapshot deletion was in progress
+and ended up being aborted, it would be impossible to later attempt to
+delete again the snapshot, since the root's send_in_progress counter could
+never go back to 0.
+
+We were also setting clone_sources_to_rollback to i + 1 too early - if we
+bailed out because the clone root we got is not readonly or flagged as dead
+we ended up later derreferencing a null pointer because we didn't assign
+the clone root to sctx->clone_roots[i].root:
+
+               for (i = 0; sctx && i < clone_sources_to_rollback; i++)
+                       btrfs_root_dec_send_in_progress(
+                                       sctx->clone_roots[i].root);
+
+So just don't increment the send_in_progress counter if the root is readonly
+or flagged as dead.
+
+Signed-off-by: Filipe Manana <[email protected]>
+Reviewed-by: David Sterba <[email protected]>
+Signed-off-by: Chris Mason <[email protected]>
+Signed-off-by: David Sterba <[email protected]>
+---
+ fs/btrfs/send.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/fs/btrfs/send.c b/fs/btrfs/send.c
+index 6ec28f13659e..571de5a08fe7 100644
+--- a/fs/btrfs/send.c
++++ b/fs/btrfs/send.c
+@@ -5852,9 +5852,7 @@ long btrfs_ioctl_send(struct file *mnt_file, void __user 
*arg_)
+                               ret = PTR_ERR(clone_root);
+                               goto out;
+                       }
+-                      clone_sources_to_rollback = i + 1;
+                       spin_lock(&clone_root->root_item_lock);
+-                      clone_root->send_in_progress++;
+                       if (!btrfs_root_readonly(clone_root) ||
+                           btrfs_root_dead(clone_root)) {
+                               spin_unlock(&clone_root->root_item_lock);
+@@ -5862,10 +5860,12 @@ long btrfs_ioctl_send(struct file *mnt_file, void 
__user *arg_)
+                               ret = -EPERM;
+                               goto out;
+                       }
++                      clone_root->send_in_progress++;
+                       spin_unlock(&clone_root->root_item_lock);
+                       srcu_read_unlock(&fs_info->subvol_srcu, index);
+ 
+                       sctx->clone_roots[i].root = clone_root;
++                      clone_sources_to_rollback = i + 1;
+               }
+               vfree(clone_sources_tmp);
+               clone_sources_tmp = NULL;
+-- 
+2.1.3
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.fixes/btrfs-0003-incorrect-handling-for-fiemap_fill_next_extent.patch
 
new/patches.fixes/btrfs-0003-incorrect-handling-for-fiemap_fill_next_extent.patch
--- 
old/patches.fixes/btrfs-0003-incorrect-handling-for-fiemap_fill_next_extent.patch
   1970-01-01 01:00:00.000000000 +0100
+++ 
new/patches.fixes/btrfs-0003-incorrect-handling-for-fiemap_fill_next_extent.patch
   2015-06-18 17:11:06.000000000 +0200
@@ -0,0 +1,41 @@
+From: Chengyu Song <[email protected]>
+Date: Tue, 24 Mar 2015 18:12:56 -0400
+Patch-mainline: 4.1
+Git-commit: 317785074b63535d5f57d67043ed39afe4e31194
+Subject: [PATCH] btrfs: incorrect handling for fiemap_fill_next_extent
+ return
+
+fiemap_fill_next_extent returns 0 on success, -errno on error, 1 if this was
+the last extent that will fit in user array. If 1 is returned, the return
+value may eventually returned to user space, which should not happen, according
+to manpage of ioctl.
+
+Signed-off-by: Chengyu Song <[email protected]>
+Reviewed-by: David Sterba <[email protected]>
+Reviewed-by: Liu Bo <[email protected]>
+Signed-off-by: Chris Mason <[email protected]>
+Signed-off-by: David Sterba <[email protected]>
+---
+ fs/btrfs/extent_io.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/fs/btrfs/extent_io.c b/fs/btrfs/extent_io.c
+index d688cfe5d496..782f3bc4651d 100644
+--- a/fs/btrfs/extent_io.c
++++ b/fs/btrfs/extent_io.c
+@@ -4514,8 +4514,11 @@ int extent_fiemap(struct inode *inode, struct 
fiemap_extent_info *fieinfo,
+               }
+               ret = fiemap_fill_next_extent(fieinfo, em_start, disko,
+                                             em_len, flags);
+-              if (ret)
++              if (ret) {
++                      if (ret == 1)
++                              ret = 0;
+                       goto out_free;
++              }
+       }
+ out_free:
+       free_extent_map(em);
+-- 
+2.1.3
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.fixes/btrfs-0004-cleanup-orphans-while-looking-up-default-subvo.patch
 
new/patches.fixes/btrfs-0004-cleanup-orphans-while-looking-up-default-subvo.patch
--- 
old/patches.fixes/btrfs-0004-cleanup-orphans-while-looking-up-default-subvo.patch
   1970-01-01 01:00:00.000000000 +0100
+++ 
new/patches.fixes/btrfs-0004-cleanup-orphans-while-looking-up-default-subvo.patch
   2015-06-18 17:11:06.000000000 +0200
@@ -0,0 +1,44 @@
+From: Jeff Mahoney <[email protected]>
+Date: Fri, 20 Mar 2015 14:02:09 -0400
+Patch-mainline: 4.1
+Git-commit: a9accf42219b06d2984a1a1d53635843a7f1920a
+Subject: [PATCH] btrfs: cleanup orphans while looking up default subvolume
+
+Orphans in the fs tree are cleaned up via open_ctree and subvolume
+orphans are cleaned via btrfs_lookup_dentry -- except when a default
+subvolume is in use.  The name for the default subvolume uses a manual
+lookup that doesn't trigger orphan cleanup and needs to trigger it
+manually as well. This doesn't apply to the remount case since the
+subvolumes are cleaned up by walking the root radix tree.
+
+Signed-off-by: Jeff Mahoney <[email protected]>
+Reviewed-by: David Sterba <[email protected]>
+Signed-off-by: Chris Mason <[email protected]>
+Signed-off-by: David Sterba <[email protected]>
+---
+ fs/btrfs/super.c | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+diff --git a/fs/btrfs/super.c b/fs/btrfs/super.c
+index 05fef198ff94..e477ed67a49a 100644
+--- a/fs/btrfs/super.c
++++ b/fs/btrfs/super.c
+@@ -901,6 +901,15 @@ static struct dentry *get_default_root(struct super_block 
*sb,
+       if (IS_ERR(new_root))
+               return ERR_CAST(new_root);
+ 
++      if (!(sb->s_flags & MS_RDONLY)) {
++              int ret;
++              down_read(&fs_info->cleanup_work_sem);
++              ret = btrfs_orphan_cleanup(new_root);
++              up_read(&fs_info->cleanup_work_sem);
++              if (ret)
++                      return ERR_PTR(ret);
++      }
++
+       dir_id = btrfs_root_dirid(&new_root->root_item);
+ setup_root:
+       location.objectid = dir_id;
+-- 
+2.1.3
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.fixes/btrfs-0005-fix-range-cloning-when-same-inode-used-as-sour.patch
 
new/patches.fixes/btrfs-0005-fix-range-cloning-when-same-inode-used-as-sour.patch
--- 
old/patches.fixes/btrfs-0005-fix-range-cloning-when-same-inode-used-as-sour.patch
   1970-01-01 01:00:00.000000000 +0100
+++ 
new/patches.fixes/btrfs-0005-fix-range-cloning-when-same-inode-used-as-sour.patch
   2015-06-18 17:11:06.000000000 +0200
@@ -0,0 +1,132 @@
+From: Filipe Manana <[email protected]>
+Date: Tue, 31 Mar 2015 14:56:46 +0100
+Patch-mainline: 4.1
+Git-commit: 877f4ee55c9e3198d105596bd9b3a30314edfa46
+Subject: [PATCH] Btrfs: fix range cloning when same inode used as source
+ and destination
+
+While searching for extents to clone we might find one where we only use
+a part of it coming from its tail. If our destination inode is the same
+the source inode, we end up removing the tail part of the extent item and
+insert after a new one that point to the same extent with an adjusted
+key file offset and data offset. After this we search for the next extent
+item in the fs/subvol tree with a key that has an offset incremented by
+one. But this second search leaves us at the new extent item we inserted
+previously, and since that extent item has a non-zero data offset, it
+it can make us call btrfs_drop_extents with an empty range (start == end)
+which causes the following warning:
+
+[23978.537119] WARNING: CPU: 6 PID: 16251 at fs/btrfs/file.c:550 
btrfs_drop_extent_cache+0x43/0x385 [btrfs]()
+(...)
+[23978.557266] Call Trace:
+[23978.557978]  [<ffffffff81425fd9>] dump_stack+0x4c/0x65
+[23978.559191]  [<ffffffff81045390>] warn_slowpath_common+0xa1/0xbb
+[23978.560699]  [<ffffffffa047f0ea>] ? btrfs_drop_extent_cache+0x43/0x385 
[btrfs]
+[23978.562389]  [<ffffffff8104544d>] warn_slowpath_null+0x1a/0x1c
+[23978.563613]  [<ffffffffa047f0ea>] btrfs_drop_extent_cache+0x43/0x385 [btrfs]
+[23978.565103]  [<ffffffff810e3a18>] ? time_hardirqs_off+0x15/0x28
+[23978.566294]  [<ffffffff81079ff8>] ? trace_hardirqs_off+0xd/0xf
+[23978.567438]  [<ffffffffa047f73d>] __btrfs_drop_extents+0x6b/0x9e1 [btrfs]
+[23978.568702]  [<ffffffff8107c03f>] ? trace_hardirqs_on+0xd/0xf
+[23978.569763]  [<ffffffff811441c0>] ? ____cache_alloc+0x69/0x2eb
+[23978.570817]  [<ffffffff81142269>] ? virt_to_head_page+0x9/0x36
+[23978.571872]  [<ffffffff81143c15>] ? 
cache_alloc_debugcheck_after.isra.42+0x16c/0x1cb
+[23978.573466]  [<ffffffff811420d5>] ? 
kmemleak_alloc_recursive.constprop.52+0x16/0x18
+[23978.574962]  [<ffffffffa0480d07>] btrfs_drop_extents+0x66/0x7f [btrfs]
+[23978.576179]  [<ffffffffa049aa35>] btrfs_clone+0x516/0xaf5 [btrfs]
+[23978.577311]  [<ffffffffa04983dc>] ? lock_extent_range+0x7b/0xcd [btrfs]
+[23978.578520]  [<ffffffffa049b2a2>] btrfs_ioctl_clone+0x28e/0x39f [btrfs]
+[23978.580282]  [<ffffffffa049d9ae>] btrfs_ioctl+0xb51/0x219a [btrfs]
+(...)
+[23978.591887] ---[ end trace 988ec2a653d03ed3 ]---
+
+Then we attempt to insert a new extent item with a key that already
+exists, which makes btrfs_insert_empty_item return -EEXIST resulting in
+abortion of the current transaction:
+
+[23978.594355] WARNING: CPU: 6 PID: 16251 at fs/btrfs/super.c:260 
__btrfs_abort_transaction+0x52/0x114 [btrfs]()
+(...)
+[23978.622589] Call Trace:
+[23978.623181]  [<ffffffff81425fd9>] dump_stack+0x4c/0x65
+[23978.624359]  [<ffffffff81045390>] warn_slowpath_common+0xa1/0xbb
+[23978.625573]  [<ffffffffa044ab6c>] ? __btrfs_abort_transaction+0x52/0x114 
[btrfs]
+[23978.626971]  [<ffffffff810453f0>] warn_slowpath_fmt+0x46/0x48
+[23978.628003]  [<ffffffff8108a6c8>] ? vprintk_default+0x1d/0x1f
+[23978.629138]  [<ffffffffa044ab6c>] __btrfs_abort_transaction+0x52/0x114 
[btrfs]
+[23978.630528]  [<ffffffffa049ad1b>] btrfs_clone+0x7fc/0xaf5 [btrfs]
+[23978.631635]  [<ffffffffa04983dc>] ? lock_extent_range+0x7b/0xcd [btrfs]
+[23978.632886]  [<ffffffffa049b2a2>] btrfs_ioctl_clone+0x28e/0x39f [btrfs]
+[23978.634119]  [<ffffffffa049d9ae>] btrfs_ioctl+0xb51/0x219a [btrfs]
+(...)
+[23978.647714] ---[ end trace 988ec2a653d03ed4 ]---
+
+This is wrong because we should not process the extent item that we just
+inserted previously, and instead process the extent item that follows it
+in the tree
+
+For example for the test case I wrote for fstests:
+
+   bs=$((64 * 1024))
+   mkfs.btrfs -f -l $bs -O ^no-holes /dev/sdc
+   mount /dev/sdc /mnt
+
+   xfs_io -f -c "pwrite -S 0xaa $(($bs * 2)) $(($bs * 2))" /mnt/foo
+
+   $CLONER_PROG -s $((3 * $bs)) -d $((267 * $bs)) -l 0 /mnt/foo /mnt/foo
+   $CLONER_PROG -s $((217 * $bs)) -d $((95 * $bs)) -l 0 /mnt/foo /mnt/foo
+
+The second clone call fails with -EEXIST, because when we process the
+first extent item (offset 262144), we drop part of it (counting from the
+end) and then insert a new extent item with a key greater then the key we
+found. The next time we search the tree we search for a key with offset
+262144 + 1, which leaves us at the new extent item we have just inserted
+but we think it refers to an extent that we need to clone.
+
+Fix this by ensuring the next search key uses an offset corresponding to
+the offset of the key we found previously plus the data length of the
+corresponding extent item. This ensures we skip new extent items that we
+inserted and works for the case of implicit holes too (NO_HOLES feature).
+
+A test case for fstests follows soon.
+
+Signed-off-by: Filipe Manana <[email protected]>
+Signed-off-by: Chris Mason <[email protected]>
+Signed-off-by: David Sterba <[email protected]>
+---
+ fs/btrfs/ioctl.c | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/fs/btrfs/ioctl.c b/fs/btrfs/ioctl.c
+index 2b4c5423672d..d79c599240a7 100644
+--- a/fs/btrfs/ioctl.c
++++ b/fs/btrfs/ioctl.c
+@@ -3206,6 +3206,8 @@ static int btrfs_clone(struct inode *src, struct inode 
*inode,
+       key.offset = off;
+ 
+       while (1) {
++              u64 next_key_min_offset;
++
+               /*
+                * note the key will change type as we walk through the
+                * tree.
+@@ -3286,7 +3288,7 @@ static int btrfs_clone(struct inode *src, struct inode 
*inode,
+                       } else if (key.offset >= off + len) {
+                               break;
+                       }
+-
++                      next_key_min_offset = key.offset + datal;
+                       size = btrfs_item_size_nr(leaf, slot);
+                       read_extent_buffer(leaf, buf,
+                                          btrfs_item_ptr_offset(leaf, slot),
+@@ -3501,7 +3503,7 @@ static int btrfs_clone(struct inode *src, struct inode 
*inode,
+                               break;
+               }
+               btrfs_release_path(path);
+-              key.offset++;
++              key.offset = next_key_min_offset;
+       }
+       ret = 0;
+ 
+-- 
+2.1.3
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.fixes/btrfs-0006-fix-uninit-variable-in-clone-ioctl.patch 
new/patches.fixes/btrfs-0006-fix-uninit-variable-in-clone-ioctl.patch
--- old/patches.fixes/btrfs-0006-fix-uninit-variable-in-clone-ioctl.patch       
1970-01-01 01:00:00.000000000 +0100
+++ new/patches.fixes/btrfs-0006-fix-uninit-variable-in-clone-ioctl.patch       
2015-06-18 17:11:06.000000000 +0200
@@ -0,0 +1,32 @@
+From: Chris Mason <[email protected]>
+Date: Sat, 11 Apr 2015 05:09:06 -0700
+Patch-mainline: 4.1
+Git-commit: 2eb8c62e317b2305da00dc7986a982fa9637fedc
+Subject: [PATCH] Btrfs: fix uninit variable in clone ioctl
+
+Commit 0d97a64e0 creates a new variable but doesn't always set it up.
+This puts it back to the original method (key.offset + 1) for the cases
+not covered by Filipe's new logic.
+
+Signed-off-by: Chris Mason <[email protected]>
+Signed-off-by: David Sterba <[email protected]>
+---
+ fs/btrfs/ioctl.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/fs/btrfs/ioctl.c b/fs/btrfs/ioctl.c
+index d79c599240a7..64e8fb639f72 100644
+--- a/fs/btrfs/ioctl.c
++++ b/fs/btrfs/ioctl.c
+@@ -3206,7 +3206,7 @@ static int btrfs_clone(struct inode *src, struct inode 
*inode,
+       key.offset = off;
+ 
+       while (1) {
+-              u64 next_key_min_offset;
++              u64 next_key_min_offset = key.offset + 1;
+ 
+               /*
+                * note the key will change type as we walk through the
+-- 
+2.1.3
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.fixes/btrfs-0007-fix-regression-in-raid-level-conversion.patch 
new/patches.fixes/btrfs-0007-fix-regression-in-raid-level-conversion.patch
--- old/patches.fixes/btrfs-0007-fix-regression-in-raid-level-conversion.patch  
1970-01-01 01:00:00.000000000 +0100
+++ new/patches.fixes/btrfs-0007-fix-regression-in-raid-level-conversion.patch  
2015-06-18 17:11:06.000000000 +0200
@@ -0,0 +1,55 @@
+From: Chris Mason <[email protected]>
+Date: Tue, 19 May 2015 18:54:41 -0700
+Patch-mainline: 4.1
+Git-commit: 25c5856aa419479bb07466fd7d0de01da0b7b421
+Subject: [PATCH] Btrfs: fix regression in raid level conversion
+
+Commit 2f0810880f082fa8ba66ab2c33b02e4ff9770a5e changed
+btrfs_set_block_group_ro to avoid trying to allocate new chunks with the
+new raid profile during conversion.  This fixed failures when there was
+no space on the drive to allocate a new chunk, but the metadata
+reserves were sufficient to continue the conversion.
+
+But this ended up causing a regression when the drive had plenty of
+space to allocate new chunks, mostly because reduce_alloc_profile isn't
+using the new raid profile.
+
+Fixing btrfs_reduce_alloc_profile is a bigger patch.  For now, do a
+partial revert of 2f0810880, and don't error out if we hit ENOSPC.
+
+Signed-off-by: Chris Mason <[email protected]>
+Tested-by: Dave Sterba <[email protected]>
+Reported-by: Holger Hoffstaette <[email protected]>
+Signed-off-by: David Sterba <[email protected]>
+---
+ fs/btrfs/extent-tree.c |   19 +++++++++++++++++++
+ 1 file changed, 19 insertions(+)
+
+--- a/fs/btrfs/extent-tree.c
++++ b/fs/btrfs/extent-tree.c
+@@ -8544,6 +8544,25 @@ int btrfs_set_block_group_ro(struct btrf
+                       goto out;
+       }
+ 
++      /*
++       * if we are changing raid levels, try to allocate a corresponding
++       * block group with the new raid level.
++       */
++      alloc_flags = update_block_group_flags(root, cache->flags);
++      if (alloc_flags != cache->flags) {
++              ret = do_chunk_alloc(trans, root, alloc_flags,
++                                   CHUNK_ALLOC_FORCE);
++              /*
++               * ENOSPC is allowed here, we may have enough space
++               * already allocated at the new raid level to
++               * carry on
++               */
++              if (ret == -ENOSPC)
++                      ret = 0;
++              if (ret < 0)
++                      goto out;
++      }
++
+       ret = set_block_group_ro(cache, 0);
+       if (!ret)
+               goto out;

++++++ series.conf ++++++
--- /var/tmp/diff_new_pack.V9fsZy/_old  2015-06-23 12:05:09.000000000 +0200
+++ /var/tmp/diff_new_pack.V9fsZy/_new  2015-06-23 12:05:09.000000000 +0200
@@ -281,6 +281,13 @@
        ########################################################
        patches.suse/btrfs-use-correct-device-for-maps.patch
        patches.fixes/btrfs-revert-delete-chunk-allocation.patch
+       
patches.fixes/btrfs-0001-send-add-missing-check-for-dead-clone-root.patch
+       
patches.fixes/btrfs-0002-send-don-t-leave-without-decrementing-clone-ro.patch
+       
patches.fixes/btrfs-0003-incorrect-handling-for-fiemap_fill_next_extent.patch
+       
patches.fixes/btrfs-0004-cleanup-orphans-while-looking-up-default-subvo.patch
+       
patches.fixes/btrfs-0005-fix-range-cloning-when-same-inode-used-as-sour.patch
+       patches.fixes/btrfs-0006-fix-uninit-variable-in-clone-ioctl.patch
+       patches.fixes/btrfs-0007-fix-regression-in-raid-level-conversion.patch
 
        ########################################################
        # Reiserfs Patches

++++++ source-timestamp ++++++
--- /var/tmp/diff_new_pack.V9fsZy/_old  2015-06-23 12:05:09.000000000 +0200
+++ /var/tmp/diff_new_pack.V9fsZy/_new  2015-06-23 12:05:09.000000000 +0200
@@ -1,3 +1,3 @@
-2015-06-12 11:50:14 +0200
-GIT Revision: 0e899eb6113c12cdf7dfde9632e6dacc92d591c9
+2015-06-18 17:11:06 +0200
+GIT Revision: 56152db3aa548241f14534a7e0d3c2acaec5dddc
 GIT Branch: stable


Reply via email to