From: kernel test robot <lkp@intel.com>
To: Sergei Shtepa <sergei.shtepa@veeam.com>,
Christoph Hellwig <hch@infradead.org>,
Hannes Reinecke <hare@suse.de>,
Mike Snitzer <snitzer@redhat.com>,
Alasdair Kergon <agk@redhat.com>,
Alexander Viro <viro@zeniv.linux.org.uk>,
Jens Axboe <axboe@kernel.dk>,
dm-devel@redhat.com, linux-fsdevel@vger.kernel.org,
linux-block@vger.kernel.org, linux-kernel@vger.kernel.org
Cc: kbuild-all@lists.01.org
Subject: Re: [dm-devel] [PATCH v8 3/4] Adds blk_interposer to md.
Date: Fri, 9 Apr 2021 22:39:09 +0800 [thread overview]
Message-ID: <202104092202.O2QiQWLR-lkp@intel.com> (raw)
In-Reply-To: <1617968884-15149-4-git-send-email-sergei.shtepa@veeam.com>
[-- Attachment #1: Type: text/plain, Size: 6260 bytes --]
Hi Sergei,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on block/for-next]
[also build test WARNING on hch-configfs/for-next v5.12-rc6]
[cannot apply to dm/for-next next-20210409]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Sergei-Shtepa/block-device-interposer/20210409-194943
base: https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git for-next
config: i386-randconfig-m021-20210409 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
# https://github.com/0day-ci/linux/commit/df79fb333cb0a1263a1f03f54de425507e3c2238
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Sergei-Shtepa/block-device-interposer/20210409-194943
git checkout df79fb333cb0a1263a1f03f54de425507e3c2238
# save the attached .config to linux build tree
make W=1 ARCH=i386
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
>> drivers/md/dm.c:2682:5: warning: no previous prototype for '__dm_attach_interposer' [-Wmissing-prototypes]
2682 | int __dm_attach_interposer(struct mapped_device *md)
| ^~~~~~~~~~~~~~~~~~~~~~
>> drivers/md/dm.c:2724:5: warning: no previous prototype for '__dm_detach_interposer' [-Wmissing-prototypes]
2724 | int __dm_detach_interposer(struct mapped_device *md)
| ^~~~~~~~~~~~~~~~~~~~~~
vim +/__dm_attach_interposer +2682 drivers/md/dm.c
2681
> 2682 int __dm_attach_interposer(struct mapped_device *md)
2683 {
2684 int r;
2685 struct dm_table *map;
2686 struct block_device *original_bdev = NULL;
2687
2688 if (dm_interposer_attached(md))
2689 return 0;
2690
2691 map = rcu_dereference_protected(md->map,
2692 lockdep_is_held(&md->suspend_lock));
2693 if (!map) {
2694 DMERR("%s: interposers table is not initialized",
2695 dm_device_name(md));
2696 return -EINVAL;
2697 }
2698
2699 original_bdev = get_interposed_bdev(map);
2700 if (!original_bdev) {
2701 DMERR("%s: interposer cannot get interposed device from table",
2702 dm_device_name(md));
2703 return -EINVAL;
2704 }
2705
2706 bdev_interposer_lock(original_bdev);
2707
2708 r = bdev_interposer_attach(original_bdev, dm_disk(md)->part0);
2709 if (r)
2710 DMERR("%s: failed to attach interposer",
2711 dm_device_name(md));
2712 else
2713 set_bit(DMF_INTERPOSER_ATTACHED, &md->flags);
2714
2715 bdev_interposer_unlock(original_bdev);
2716
2717 unlock_bdev_fs(md, original_bdev);
2718
2719 bdput(original_bdev);
2720
2721 return r;
2722 }
2723
> 2724 int __dm_detach_interposer(struct mapped_device *md)
2725 {
2726 struct dm_table *map = NULL;
2727 struct block_device *original_bdev;
2728
2729 if (!dm_interposer_attached(md))
2730 return 0;
2731 /*
2732 * If mapped device is suspended, but should be detached
2733 * we just detach without freeze fs on interposed device.
2734 */
2735 map = rcu_dereference_protected(md->map,
2736 lockdep_is_held(&md->suspend_lock));
2737 if (!map) {
2738 /*
2739 * If table is not initialized then interposed device
2740 * cannot be attached
2741 */
2742 DMERR("%s: table is not initialized for device",
2743 dm_device_name(md));
2744 return -EINVAL;
2745 }
2746
2747 original_bdev = get_interposed_bdev(map);
2748 if (!original_bdev) {
2749 DMERR("%s: interposer cannot get interposed device from table",
2750 dm_device_name(md));
2751 return -EINVAL;
2752 }
2753
2754 bdev_interposer_lock(original_bdev);
2755
2756 bdev_interposer_detach(original_bdev);
2757 clear_bit(DMF_INTERPOSER_ATTACHED, &md->flags);
2758
2759 bdev_interposer_unlock(original_bdev);
2760
2761 bdput(original_bdev);
2762 return 0;
2763 }
2764 /*
2765 * We need to be able to change a mapping table under a mounted
2766 * filesystem. For example we might want to move some data in
2767 * the background. Before the table can be swapped with
2768 * dm_bind_table, dm_suspend must be called to flush any in
2769 * flight bios and ensure that any further io gets deferred.
2770 */
2771 /*
2772 * Suspend mechanism in request-based dm.
2773 *
2774 * 1. Flush all I/Os by lock_fs() if needed.
2775 * 2. Stop dispatching any I/O by stopping the request_queue.
2776 * 3. Wait for all in-flight I/Os to be completed or requeued.
2777 *
2778 * To abort suspend, start the request_queue.
2779 */
2780 int dm_suspend(struct mapped_device *md, unsigned suspend_flags)
2781 {
2782 struct dm_table *map = NULL;
2783 int r = 0;
2784
2785 retry:
2786 mutex_lock_nested(&md->suspend_lock, SINGLE_DEPTH_NESTING);
2787
2788 if (dm_suspended_md(md)) {
2789 if (suspend_flags & DM_SUSPEND_DETACH_IP_FLAG)
2790 r = __dm_detach_interposer(md);
2791 else
2792 r = -EINVAL;
2793
2794 goto out_unlock;
2795 }
2796
2797 if (dm_suspended_internally_md(md)) {
2798 /* already internally suspended, wait for internal resume */
2799 mutex_unlock(&md->suspend_lock);
2800 r = wait_on_bit(&md->flags, DMF_SUSPENDED_INTERNALLY, TASK_INTERRUPTIBLE);
2801 if (r)
2802 return r;
2803 goto retry;
2804 }
2805
2806 map = rcu_dereference_protected(md->map, lockdep_is_held(&md->suspend_lock));
2807
2808 r = __dm_suspend(md, map, suspend_flags, TASK_INTERRUPTIBLE, DMF_SUSPENDED);
2809 if (r)
2810 goto out_unlock;
2811
2812 set_bit(DMF_POST_SUSPENDING, &md->flags);
2813 dm_table_postsuspend_targets(map);
2814 clear_bit(DMF_POST_SUSPENDING, &md->flags);
2815
2816 out_unlock:
2817 mutex_unlock(&md->suspend_lock);
2818 return r;
2819 }
2820
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 39378 bytes --]
[-- Attachment #3: Type: text/plain, Size: 97 bytes --]
--
dm-devel mailing list
dm-devel@redhat.com
https://listman.redhat.com/mailman/listinfo/dm-devel
WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: Sergei Shtepa <sergei.shtepa@veeam.com>,
Christoph Hellwig <hch@infradead.org>,
Hannes Reinecke <hare@suse.de>, Mike Snitzer <snitzer@redhat.com>,
Alasdair Kergon <agk@redhat.com>,
Alexander Viro <viro@zeniv.linux.org.uk>,
Jens Axboe <axboe@kernel.dk>,
dm-devel@redhat.com, linux-fsdevel@vger.kernel.org,
linux-block@vger.kernel.org, linux-kernel@vger.kernel.org
Cc: kbuild-all@lists.01.org
Subject: Re: [PATCH v8 3/4] Adds blk_interposer to md.
Date: Fri, 9 Apr 2021 22:39:09 +0800 [thread overview]
Message-ID: <202104092202.O2QiQWLR-lkp@intel.com> (raw)
In-Reply-To: <1617968884-15149-4-git-send-email-sergei.shtepa@veeam.com>
[-- Attachment #1: Type: text/plain, Size: 6260 bytes --]
Hi Sergei,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on block/for-next]
[also build test WARNING on hch-configfs/for-next v5.12-rc6]
[cannot apply to dm/for-next next-20210409]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Sergei-Shtepa/block-device-interposer/20210409-194943
base: https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git for-next
config: i386-randconfig-m021-20210409 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
# https://github.com/0day-ci/linux/commit/df79fb333cb0a1263a1f03f54de425507e3c2238
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Sergei-Shtepa/block-device-interposer/20210409-194943
git checkout df79fb333cb0a1263a1f03f54de425507e3c2238
# save the attached .config to linux build tree
make W=1 ARCH=i386
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
>> drivers/md/dm.c:2682:5: warning: no previous prototype for '__dm_attach_interposer' [-Wmissing-prototypes]
2682 | int __dm_attach_interposer(struct mapped_device *md)
| ^~~~~~~~~~~~~~~~~~~~~~
>> drivers/md/dm.c:2724:5: warning: no previous prototype for '__dm_detach_interposer' [-Wmissing-prototypes]
2724 | int __dm_detach_interposer(struct mapped_device *md)
| ^~~~~~~~~~~~~~~~~~~~~~
vim +/__dm_attach_interposer +2682 drivers/md/dm.c
2681
> 2682 int __dm_attach_interposer(struct mapped_device *md)
2683 {
2684 int r;
2685 struct dm_table *map;
2686 struct block_device *original_bdev = NULL;
2687
2688 if (dm_interposer_attached(md))
2689 return 0;
2690
2691 map = rcu_dereference_protected(md->map,
2692 lockdep_is_held(&md->suspend_lock));
2693 if (!map) {
2694 DMERR("%s: interposers table is not initialized",
2695 dm_device_name(md));
2696 return -EINVAL;
2697 }
2698
2699 original_bdev = get_interposed_bdev(map);
2700 if (!original_bdev) {
2701 DMERR("%s: interposer cannot get interposed device from table",
2702 dm_device_name(md));
2703 return -EINVAL;
2704 }
2705
2706 bdev_interposer_lock(original_bdev);
2707
2708 r = bdev_interposer_attach(original_bdev, dm_disk(md)->part0);
2709 if (r)
2710 DMERR("%s: failed to attach interposer",
2711 dm_device_name(md));
2712 else
2713 set_bit(DMF_INTERPOSER_ATTACHED, &md->flags);
2714
2715 bdev_interposer_unlock(original_bdev);
2716
2717 unlock_bdev_fs(md, original_bdev);
2718
2719 bdput(original_bdev);
2720
2721 return r;
2722 }
2723
> 2724 int __dm_detach_interposer(struct mapped_device *md)
2725 {
2726 struct dm_table *map = NULL;
2727 struct block_device *original_bdev;
2728
2729 if (!dm_interposer_attached(md))
2730 return 0;
2731 /*
2732 * If mapped device is suspended, but should be detached
2733 * we just detach without freeze fs on interposed device.
2734 */
2735 map = rcu_dereference_protected(md->map,
2736 lockdep_is_held(&md->suspend_lock));
2737 if (!map) {
2738 /*
2739 * If table is not initialized then interposed device
2740 * cannot be attached
2741 */
2742 DMERR("%s: table is not initialized for device",
2743 dm_device_name(md));
2744 return -EINVAL;
2745 }
2746
2747 original_bdev = get_interposed_bdev(map);
2748 if (!original_bdev) {
2749 DMERR("%s: interposer cannot get interposed device from table",
2750 dm_device_name(md));
2751 return -EINVAL;
2752 }
2753
2754 bdev_interposer_lock(original_bdev);
2755
2756 bdev_interposer_detach(original_bdev);
2757 clear_bit(DMF_INTERPOSER_ATTACHED, &md->flags);
2758
2759 bdev_interposer_unlock(original_bdev);
2760
2761 bdput(original_bdev);
2762 return 0;
2763 }
2764 /*
2765 * We need to be able to change a mapping table under a mounted
2766 * filesystem. For example we might want to move some data in
2767 * the background. Before the table can be swapped with
2768 * dm_bind_table, dm_suspend must be called to flush any in
2769 * flight bios and ensure that any further io gets deferred.
2770 */
2771 /*
2772 * Suspend mechanism in request-based dm.
2773 *
2774 * 1. Flush all I/Os by lock_fs() if needed.
2775 * 2. Stop dispatching any I/O by stopping the request_queue.
2776 * 3. Wait for all in-flight I/Os to be completed or requeued.
2777 *
2778 * To abort suspend, start the request_queue.
2779 */
2780 int dm_suspend(struct mapped_device *md, unsigned suspend_flags)
2781 {
2782 struct dm_table *map = NULL;
2783 int r = 0;
2784
2785 retry:
2786 mutex_lock_nested(&md->suspend_lock, SINGLE_DEPTH_NESTING);
2787
2788 if (dm_suspended_md(md)) {
2789 if (suspend_flags & DM_SUSPEND_DETACH_IP_FLAG)
2790 r = __dm_detach_interposer(md);
2791 else
2792 r = -EINVAL;
2793
2794 goto out_unlock;
2795 }
2796
2797 if (dm_suspended_internally_md(md)) {
2798 /* already internally suspended, wait for internal resume */
2799 mutex_unlock(&md->suspend_lock);
2800 r = wait_on_bit(&md->flags, DMF_SUSPENDED_INTERNALLY, TASK_INTERRUPTIBLE);
2801 if (r)
2802 return r;
2803 goto retry;
2804 }
2805
2806 map = rcu_dereference_protected(md->map, lockdep_is_held(&md->suspend_lock));
2807
2808 r = __dm_suspend(md, map, suspend_flags, TASK_INTERRUPTIBLE, DMF_SUSPENDED);
2809 if (r)
2810 goto out_unlock;
2811
2812 set_bit(DMF_POST_SUSPENDING, &md->flags);
2813 dm_table_postsuspend_targets(map);
2814 clear_bit(DMF_POST_SUSPENDING, &md->flags);
2815
2816 out_unlock:
2817 mutex_unlock(&md->suspend_lock);
2818 return r;
2819 }
2820
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 39378 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: Re: [PATCH v8 3/4] Adds blk_interposer to md.
Date: Fri, 09 Apr 2021 22:39:09 +0800 [thread overview]
Message-ID: <202104092202.O2QiQWLR-lkp@intel.com> (raw)
In-Reply-To: <1617968884-15149-4-git-send-email-sergei.shtepa@veeam.com>
[-- Attachment #1: Type: text/plain, Size: 6444 bytes --]
Hi Sergei,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on block/for-next]
[also build test WARNING on hch-configfs/for-next v5.12-rc6]
[cannot apply to dm/for-next next-20210409]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Sergei-Shtepa/block-device-interposer/20210409-194943
base: https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git for-next
config: i386-randconfig-m021-20210409 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
# https://github.com/0day-ci/linux/commit/df79fb333cb0a1263a1f03f54de425507e3c2238
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Sergei-Shtepa/block-device-interposer/20210409-194943
git checkout df79fb333cb0a1263a1f03f54de425507e3c2238
# save the attached .config to linux build tree
make W=1 ARCH=i386
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
>> drivers/md/dm.c:2682:5: warning: no previous prototype for '__dm_attach_interposer' [-Wmissing-prototypes]
2682 | int __dm_attach_interposer(struct mapped_device *md)
| ^~~~~~~~~~~~~~~~~~~~~~
>> drivers/md/dm.c:2724:5: warning: no previous prototype for '__dm_detach_interposer' [-Wmissing-prototypes]
2724 | int __dm_detach_interposer(struct mapped_device *md)
| ^~~~~~~~~~~~~~~~~~~~~~
vim +/__dm_attach_interposer +2682 drivers/md/dm.c
2681
> 2682 int __dm_attach_interposer(struct mapped_device *md)
2683 {
2684 int r;
2685 struct dm_table *map;
2686 struct block_device *original_bdev = NULL;
2687
2688 if (dm_interposer_attached(md))
2689 return 0;
2690
2691 map = rcu_dereference_protected(md->map,
2692 lockdep_is_held(&md->suspend_lock));
2693 if (!map) {
2694 DMERR("%s: interposers table is not initialized",
2695 dm_device_name(md));
2696 return -EINVAL;
2697 }
2698
2699 original_bdev = get_interposed_bdev(map);
2700 if (!original_bdev) {
2701 DMERR("%s: interposer cannot get interposed device from table",
2702 dm_device_name(md));
2703 return -EINVAL;
2704 }
2705
2706 bdev_interposer_lock(original_bdev);
2707
2708 r = bdev_interposer_attach(original_bdev, dm_disk(md)->part0);
2709 if (r)
2710 DMERR("%s: failed to attach interposer",
2711 dm_device_name(md));
2712 else
2713 set_bit(DMF_INTERPOSER_ATTACHED, &md->flags);
2714
2715 bdev_interposer_unlock(original_bdev);
2716
2717 unlock_bdev_fs(md, original_bdev);
2718
2719 bdput(original_bdev);
2720
2721 return r;
2722 }
2723
> 2724 int __dm_detach_interposer(struct mapped_device *md)
2725 {
2726 struct dm_table *map = NULL;
2727 struct block_device *original_bdev;
2728
2729 if (!dm_interposer_attached(md))
2730 return 0;
2731 /*
2732 * If mapped device is suspended, but should be detached
2733 * we just detach without freeze fs on interposed device.
2734 */
2735 map = rcu_dereference_protected(md->map,
2736 lockdep_is_held(&md->suspend_lock));
2737 if (!map) {
2738 /*
2739 * If table is not initialized then interposed device
2740 * cannot be attached
2741 */
2742 DMERR("%s: table is not initialized for device",
2743 dm_device_name(md));
2744 return -EINVAL;
2745 }
2746
2747 original_bdev = get_interposed_bdev(map);
2748 if (!original_bdev) {
2749 DMERR("%s: interposer cannot get interposed device from table",
2750 dm_device_name(md));
2751 return -EINVAL;
2752 }
2753
2754 bdev_interposer_lock(original_bdev);
2755
2756 bdev_interposer_detach(original_bdev);
2757 clear_bit(DMF_INTERPOSER_ATTACHED, &md->flags);
2758
2759 bdev_interposer_unlock(original_bdev);
2760
2761 bdput(original_bdev);
2762 return 0;
2763 }
2764 /*
2765 * We need to be able to change a mapping table under a mounted
2766 * filesystem. For example we might want to move some data in
2767 * the background. Before the table can be swapped with
2768 * dm_bind_table, dm_suspend must be called to flush any in
2769 * flight bios and ensure that any further io gets deferred.
2770 */
2771 /*
2772 * Suspend mechanism in request-based dm.
2773 *
2774 * 1. Flush all I/Os by lock_fs() if needed.
2775 * 2. Stop dispatching any I/O by stopping the request_queue.
2776 * 3. Wait for all in-flight I/Os to be completed or requeued.
2777 *
2778 * To abort suspend, start the request_queue.
2779 */
2780 int dm_suspend(struct mapped_device *md, unsigned suspend_flags)
2781 {
2782 struct dm_table *map = NULL;
2783 int r = 0;
2784
2785 retry:
2786 mutex_lock_nested(&md->suspend_lock, SINGLE_DEPTH_NESTING);
2787
2788 if (dm_suspended_md(md)) {
2789 if (suspend_flags & DM_SUSPEND_DETACH_IP_FLAG)
2790 r = __dm_detach_interposer(md);
2791 else
2792 r = -EINVAL;
2793
2794 goto out_unlock;
2795 }
2796
2797 if (dm_suspended_internally_md(md)) {
2798 /* already internally suspended, wait for internal resume */
2799 mutex_unlock(&md->suspend_lock);
2800 r = wait_on_bit(&md->flags, DMF_SUSPENDED_INTERNALLY, TASK_INTERRUPTIBLE);
2801 if (r)
2802 return r;
2803 goto retry;
2804 }
2805
2806 map = rcu_dereference_protected(md->map, lockdep_is_held(&md->suspend_lock));
2807
2808 r = __dm_suspend(md, map, suspend_flags, TASK_INTERRUPTIBLE, DMF_SUSPENDED);
2809 if (r)
2810 goto out_unlock;
2811
2812 set_bit(DMF_POST_SUSPENDING, &md->flags);
2813 dm_table_postsuspend_targets(map);
2814 clear_bit(DMF_POST_SUSPENDING, &md->flags);
2815
2816 out_unlock:
2817 mutex_unlock(&md->suspend_lock);
2818 return r;
2819 }
2820
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 39378 bytes --]
next prev parent reply other threads:[~2021-04-09 14:41 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-04-09 11:48 [dm-devel] [PATCH v8 0/4] block device interposer Sergei Shtepa
2021-04-09 11:48 ` Sergei Shtepa
2021-04-09 11:48 ` [dm-devel] [PATCH v8 1/4] Adds blk_interposer. It allows to redirect bio requests to another block device Sergei Shtepa
2021-04-09 11:48 ` Sergei Shtepa
2021-04-09 11:48 ` [dm-devel] [PATCH v8 2/4] Adds the blk_interposers logic to __submit_bio_noacct() Sergei Shtepa
2021-04-09 11:48 ` Sergei Shtepa
2021-04-09 11:48 ` [dm-devel] [PATCH v8 3/4] Adds blk_interposer to md Sergei Shtepa
2021-04-09 11:48 ` Sergei Shtepa
2021-04-09 14:12 ` [dm-devel] " kernel test robot
2021-04-09 14:12 ` kernel test robot
2021-04-09 14:12 ` kernel test robot
2021-04-09 14:39 ` kernel test robot [this message]
2021-04-09 14:39 ` kernel test robot
2021-04-09 14:39 ` kernel test robot
2021-04-09 17:03 ` [dm-devel] " kernel test robot
2021-04-09 17:03 ` kernel test robot
2021-04-09 17:03 ` kernel test robot
2021-04-09 17:03 ` [dm-devel] [RFC PATCH] __dm_attach_interposer() can be static kernel test robot
2021-04-09 17:03 ` kernel test robot
2021-04-09 17:03 ` kernel test robot
2021-04-09 11:48 ` [dm-devel] [PATCH v8 4/4] fix origin_map - don't split a bio for the origin device if it does not have registered snapshots Sergei Shtepa
2021-04-09 11:48 ` Sergei Shtepa
2021-04-09 15:23 ` [dm-devel] [PATCH v8 0/4] block device interposer Mike Snitzer
2021-04-09 15:23 ` Mike Snitzer
2021-04-13 10:12 ` [dm-devel] " Sergei Shtepa
2021-04-13 10:12 ` Sergei Shtepa
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202104092202.O2QiQWLR-lkp@intel.com \
--to=lkp@intel.com \
--cc=agk@redhat.com \
--cc=axboe@kernel.dk \
--cc=dm-devel@redhat.com \
--cc=hare@suse.de \
--cc=hch@infradead.org \
--cc=kbuild-all@lists.01.org \
--cc=linux-block@vger.kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=sergei.shtepa@veeam.com \
--cc=snitzer@redhat.com \
--cc=viro@zeniv.linux.org.uk \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.