From: Nitesh Shetty <nj.shetty@samsung.com> To: mpatocka@redhat.com Cc: javier@javigon.com, chaitanyak@nvidia.com, linux-block@vger.kernel.org, linux-scsi@vger.kernel.org, dm-devel@redhat.com, linux-nvme@lists.infradead.org, linux-fsdevel@vger.kernel.org, axboe@kernel.dk, msnitzer@redhat.com, bvanassche@acm.org, martin.petersen@oracle.com, roland@purestorage.com, hare@suse.de, kbusch@kernel.org, hch@lst.de, Frederick.Knight@netapp.com, zach.brown@ni.com, osandov@fb.com, lsf-pc@lists.linux-foundation.org, djwong@kernel.org, josef@toxicpanda.com, clm@fb.com, dsterba@suse.com, tytso@mit.edu, jack@suse.com, joshi.k@samsung.com, arnav.dawn@samsung.com, nj.shetty@samsung.com Subject: [PATCH v2 08/10] dm: Add support for copy offload. Date: Mon, 7 Feb 2022 19:43:46 +0530 [thread overview] Message-ID: <20220207141348.4235-9-nj.shetty@samsung.com> (raw) In-Reply-To: <20220207141348.4235-1-nj.shetty@samsung.com> Before enabling copy for dm target, check if underlaying devices and dm target support copy. Avoid split happening inside dm target. Fail early if the request needs split, currently spliting copy request is not supported Signed-off-by: Nitesh Shetty <nj.shetty@samsung.com> --- drivers/md/dm-table.c | 43 +++++++++++++++++++++++++++++++++++ drivers/md/dm.c | 6 +++++ include/linux/device-mapper.h | 5 ++++ 3 files changed, 54 insertions(+) diff --git a/drivers/md/dm-table.c b/drivers/md/dm-table.c index e43096cfe9e2..cb5cdaf1d8b9 100644 --- a/drivers/md/dm-table.c +++ b/drivers/md/dm-table.c @@ -1903,6 +1903,39 @@ static bool dm_table_supports_nowait(struct dm_table *t) return true; } +static int device_not_copy_capable(struct dm_target *ti, struct dm_dev *dev, + sector_t start, sector_t len, void *data) +{ + struct request_queue *q = bdev_get_queue(dev->bdev); + + return !blk_queue_copy(q); +} + +static bool dm_table_supports_copy(struct dm_table *t) +{ + struct dm_target *ti; + unsigned int i; + + for (i = 0; i < dm_table_get_num_targets(t); i++) { + ti = dm_table_get_target(t, i); + + if (!ti->copy_supported) + return false; + + /* + * Either the target provides copy support (as implied by setting + * 'copy_supported') or it relies on _all_ data devices having + * discard support. + */ + if (!ti->copy_supported && + (!ti->type->iterate_devices || + ti->type->iterate_devices(ti, device_not_copy_capable, NULL))) + return false; + } + + return true; +} + static int device_not_discard_capable(struct dm_target *ti, struct dm_dev *dev, sector_t start, sector_t len, void *data) { @@ -2000,6 +2033,16 @@ int dm_table_set_restrictions(struct dm_table *t, struct request_queue *q, } else blk_queue_flag_set(QUEUE_FLAG_DISCARD, q); + if (!dm_table_supports_copy(t)) { + blk_queue_flag_clear(QUEUE_FLAG_COPY, q); + /* Must also clear discard limits... */ + q->limits.max_copy_sectors = 0; + q->limits.max_copy_range_sectors = 0; + q->limits.max_copy_nr_ranges = 0; + } else { + blk_queue_flag_set(QUEUE_FLAG_COPY, q); + } + if (dm_table_supports_secure_erase(t)) blk_queue_flag_set(QUEUE_FLAG_SECERASE, q); diff --git a/drivers/md/dm.c b/drivers/md/dm.c index fa596b654c99..2a6d55722139 100644 --- a/drivers/md/dm.c +++ b/drivers/md/dm.c @@ -1420,6 +1420,12 @@ static int __split_and_process_non_flush(struct clone_info *ci) if (__process_abnormal_io(ci, ti, &r)) return r; + if ((unlikely(op_is_copy(ci->bio->bi_opf)) && + max_io_len(ti, ci->sector) < ci->sector_count)) { + DMERR("%s: Error IO size(%u) is greater than maximum target size(%llu)\n", + __func__, ci->sector_count, max_io_len(ti, ci->sector)); + return -EIO; + } len = min_t(sector_t, max_io_len(ti, ci->sector), ci->sector_count); r = __clone_and_map_data_bio(ci, ti, ci->sector, &len); diff --git a/include/linux/device-mapper.h b/include/linux/device-mapper.h index b26fecf6c8e8..acfd4018125a 100644 --- a/include/linux/device-mapper.h +++ b/include/linux/device-mapper.h @@ -362,6 +362,11 @@ struct dm_target { * zone append operations using regular writes. */ bool emulate_zone_append:1; + + /* + * copy offload is supported + */ + bool copy_supported:1; }; void *dm_per_bio_data(struct bio *bio, size_t data_size); -- 2.30.0-rc0
WARNING: multiple messages have this Message-ID (diff)
From: Nitesh Shetty <nj.shetty@samsung.com> To: mpatocka@redhat.com Cc: djwong@kernel.org, linux-nvme@lists.infradead.org, clm@fb.com, dm-devel@redhat.com, osandov@fb.com, javier@javigon.com, bvanassche@acm.org, linux-scsi@vger.kernel.org, hch@lst.de, roland@purestorage.com, nj.shetty@samsung.com, zach.brown@ni.com, chaitanyak@nvidia.com, msnitzer@redhat.com, josef@toxicpanda.com, linux-block@vger.kernel.org, dsterba@suse.com, kbusch@kernel.org, Frederick.Knight@netapp.com, axboe@kernel.dk, tytso@mit.edu, joshi.k@samsung.com, martin.petersen@oracle.com, arnav.dawn@samsung.com, jack@suse.com, linux-fsdevel@vger.kernel.org, lsf-pc@lists.linux-foundation.org Subject: [dm-devel] [PATCH v2 08/10] dm: Add support for copy offload. Date: Mon, 7 Feb 2022 19:43:46 +0530 [thread overview] Message-ID: <20220207141348.4235-9-nj.shetty@samsung.com> (raw) In-Reply-To: <20220207141348.4235-1-nj.shetty@samsung.com> Before enabling copy for dm target, check if underlaying devices and dm target support copy. Avoid split happening inside dm target. Fail early if the request needs split, currently spliting copy request is not supported Signed-off-by: Nitesh Shetty <nj.shetty@samsung.com> --- drivers/md/dm-table.c | 43 +++++++++++++++++++++++++++++++++++ drivers/md/dm.c | 6 +++++ include/linux/device-mapper.h | 5 ++++ 3 files changed, 54 insertions(+) diff --git a/drivers/md/dm-table.c b/drivers/md/dm-table.c index e43096cfe9e2..cb5cdaf1d8b9 100644 --- a/drivers/md/dm-table.c +++ b/drivers/md/dm-table.c @@ -1903,6 +1903,39 @@ static bool dm_table_supports_nowait(struct dm_table *t) return true; } +static int device_not_copy_capable(struct dm_target *ti, struct dm_dev *dev, + sector_t start, sector_t len, void *data) +{ + struct request_queue *q = bdev_get_queue(dev->bdev); + + return !blk_queue_copy(q); +} + +static bool dm_table_supports_copy(struct dm_table *t) +{ + struct dm_target *ti; + unsigned int i; + + for (i = 0; i < dm_table_get_num_targets(t); i++) { + ti = dm_table_get_target(t, i); + + if (!ti->copy_supported) + return false; + + /* + * Either the target provides copy support (as implied by setting + * 'copy_supported') or it relies on _all_ data devices having + * discard support. + */ + if (!ti->copy_supported && + (!ti->type->iterate_devices || + ti->type->iterate_devices(ti, device_not_copy_capable, NULL))) + return false; + } + + return true; +} + static int device_not_discard_capable(struct dm_target *ti, struct dm_dev *dev, sector_t start, sector_t len, void *data) { @@ -2000,6 +2033,16 @@ int dm_table_set_restrictions(struct dm_table *t, struct request_queue *q, } else blk_queue_flag_set(QUEUE_FLAG_DISCARD, q); + if (!dm_table_supports_copy(t)) { + blk_queue_flag_clear(QUEUE_FLAG_COPY, q); + /* Must also clear discard limits... */ + q->limits.max_copy_sectors = 0; + q->limits.max_copy_range_sectors = 0; + q->limits.max_copy_nr_ranges = 0; + } else { + blk_queue_flag_set(QUEUE_FLAG_COPY, q); + } + if (dm_table_supports_secure_erase(t)) blk_queue_flag_set(QUEUE_FLAG_SECERASE, q); diff --git a/drivers/md/dm.c b/drivers/md/dm.c index fa596b654c99..2a6d55722139 100644 --- a/drivers/md/dm.c +++ b/drivers/md/dm.c @@ -1420,6 +1420,12 @@ static int __split_and_process_non_flush(struct clone_info *ci) if (__process_abnormal_io(ci, ti, &r)) return r; + if ((unlikely(op_is_copy(ci->bio->bi_opf)) && + max_io_len(ti, ci->sector) < ci->sector_count)) { + DMERR("%s: Error IO size(%u) is greater than maximum target size(%llu)\n", + __func__, ci->sector_count, max_io_len(ti, ci->sector)); + return -EIO; + } len = min_t(sector_t, max_io_len(ti, ci->sector), ci->sector_count); r = __clone_and_map_data_bio(ci, ti, ci->sector, &len); diff --git a/include/linux/device-mapper.h b/include/linux/device-mapper.h index b26fecf6c8e8..acfd4018125a 100644 --- a/include/linux/device-mapper.h +++ b/include/linux/device-mapper.h @@ -362,6 +362,11 @@ struct dm_target { * zone append operations using regular writes. */ bool emulate_zone_append:1; + + /* + * copy offload is supported + */ + bool copy_supported:1; }; void *dm_per_bio_data(struct bio *bio, size_t data_size); -- 2.30.0-rc0 -- dm-devel mailing list dm-devel@redhat.com https://listman.redhat.com/mailman/listinfo/dm-devel
next prev parent reply other threads:[~2022-02-07 14:53 UTC|newest] Thread overview: 183+ messages / expand[flat|nested] mbox.gz Atom feed top [not found] <CGME20220127071544uscas1p2f70f4d2509f3ebd574b7ed746d3fa551@uscas1p2.samsung.com> 2022-01-27 7:14 ` [LSF/MM/BFP ATTEND] [LSF/MM/BFP TOPIC] Storage: Copy Offload Chaitanya Kulkarni 2022-01-28 19:59 ` Adam Manzanares 2022-01-28 19:59 ` [dm-devel] " Adam Manzanares 2022-01-31 11:49 ` Johannes Thumshirn 2022-01-31 11:49 ` [dm-devel] " Johannes Thumshirn 2022-01-31 19:03 ` Bart Van Assche 2022-01-31 19:03 ` [dm-devel] " Bart Van Assche 2022-02-01 1:54 ` Luis Chamberlain 2022-02-01 1:54 ` [dm-devel] " Luis Chamberlain 2022-02-01 10:21 ` Javier González 2022-02-01 18:31 ` [RFC PATCH 0/3] NVMe copy offload patches Mikulas Patocka 2022-02-01 18:31 ` [dm-devel] " Mikulas Patocka 2022-02-01 18:32 ` [RFC PATCH 1/3] block: add copy offload support Mikulas Patocka 2022-02-01 18:32 ` [dm-devel] " Mikulas Patocka 2022-02-01 19:18 ` Bart Van Assche 2022-02-01 19:18 ` [dm-devel] " Bart Van Assche 2022-02-03 18:50 ` Mikulas Patocka 2022-02-03 18:50 ` [dm-devel] " Mikulas Patocka 2022-02-03 20:11 ` Keith Busch 2022-02-03 20:11 ` [dm-devel] " Keith Busch 2022-02-03 22:49 ` Bart Van Assche 2022-02-03 22:49 ` [dm-devel] " Bart Van Assche 2022-02-04 12:09 ` Mikulas Patocka 2022-02-04 12:09 ` [dm-devel] " Mikulas Patocka 2022-02-04 13:34 ` Jens Axboe 2022-02-04 13:34 ` [dm-devel] " Jens Axboe 2022-02-02 16:21 ` Keith Busch 2022-02-02 16:21 ` [dm-devel] " Keith Busch 2022-02-02 16:40 ` Mikulas Patocka 2022-02-02 16:40 ` [dm-devel] " Mikulas Patocka 2022-02-02 18:40 ` Knight, Frederick 2022-02-02 18:40 ` [dm-devel] " Knight, Frederick 2022-02-01 18:33 ` [RFC PATCH 2/3] nvme: " Mikulas Patocka 2022-02-01 18:33 ` [dm-devel] " Mikulas Patocka 2022-02-01 19:18 ` Bart Van Assche 2022-02-01 19:18 ` [dm-devel] " Bart Van Assche 2022-02-01 19:25 ` Mikulas Patocka 2022-02-01 19:25 ` [dm-devel] " Mikulas Patocka 2022-02-01 18:33 ` [RFC PATCH 3/3] nvme: add the "debug" host driver Mikulas Patocka 2022-02-01 18:33 ` [dm-devel] " Mikulas Patocka 2022-02-01 21:32 ` kernel test robot 2022-02-02 6:01 ` Adam Manzanares 2022-02-02 6:01 ` [dm-devel] " Adam Manzanares 2022-02-03 16:06 ` Luis Chamberlain 2022-02-03 16:06 ` [dm-devel] " Luis Chamberlain 2022-02-03 16:15 ` Christoph Hellwig 2022-02-03 16:15 ` [dm-devel] " Christoph Hellwig 2022-02-03 19:34 ` Luis Chamberlain 2022-02-03 19:34 ` [dm-devel] " Luis Chamberlain 2022-02-03 19:46 ` Adam Manzanares 2022-02-03 19:46 ` [dm-devel] " Adam Manzanares 2022-02-03 20:57 ` Mikulas Patocka 2022-02-03 20:57 ` [dm-devel] " Mikulas Patocka 2022-02-03 22:52 ` Adam Manzanares 2022-02-03 22:52 ` [dm-devel] " Adam Manzanares 2022-02-04 3:00 ` Chaitanya Kulkarni 2022-02-04 3:00 ` [dm-devel] " Chaitanya Kulkarni 2022-02-04 3:05 ` Chaitanya Kulkarni 2022-02-04 3:05 ` [dm-devel] " Chaitanya Kulkarni 2022-02-02 7:23 ` kernel test robot 2022-02-02 7:23 ` kernel test robot 2022-02-02 8:00 ` Chaitanya Kulkarni 2022-02-02 8:00 ` [dm-devel] " Chaitanya Kulkarni 2022-02-02 12:38 ` Klaus Jensen 2022-02-02 12:38 ` [dm-devel] " Klaus Jensen 2022-02-03 15:38 ` Luis Chamberlain 2022-02-03 15:38 ` [dm-devel] " Luis Chamberlain 2022-02-03 16:52 ` Keith Busch 2022-02-03 16:52 ` [dm-devel] " Keith Busch 2022-02-03 19:50 ` Adam Manzanares 2022-02-03 19:50 ` [dm-devel] " Adam Manzanares 2022-02-04 3:12 ` Chaitanya Kulkarni 2022-02-04 3:12 ` [dm-devel] " Chaitanya Kulkarni 2022-02-04 6:28 ` Damien Le Moal 2022-02-04 6:28 ` [dm-devel] " Damien Le Moal 2022-02-04 7:58 ` Chaitanya Kulkarni 2022-02-04 7:58 ` [dm-devel] " Chaitanya Kulkarni 2022-02-04 8:24 ` Javier González 2022-02-04 8:24 ` [dm-devel] " Javier González 2022-02-04 9:58 ` Chaitanya Kulkarni 2022-02-04 9:58 ` [dm-devel] " Chaitanya Kulkarni 2022-02-04 11:34 ` Javier González 2022-02-04 11:34 ` [dm-devel] " Javier González 2022-02-04 14:15 ` Hannes Reinecke 2022-02-04 14:15 ` [dm-devel] " Hannes Reinecke 2022-02-04 14:24 ` Keith Busch 2022-02-04 14:24 ` [dm-devel] " Keith Busch 2022-02-04 16:01 ` Christoph Hellwig 2022-02-04 16:01 ` [dm-devel] " Christoph Hellwig 2022-02-04 19:41 ` [RFC PATCH 0/3] NVMe copy offload patches Nitesh Shetty 2022-02-04 19:41 ` [dm-devel] " Nitesh Shetty [not found] ` <CGME20220207141901epcas5p162ec2387815be7a1fd67ce0ab7082119@epcas5p1.samsung.com> 2022-02-07 14:13 ` [PATCH v2 00/10] Add Copy offload support Nitesh Shetty 2022-02-07 14:13 ` [dm-devel] " Nitesh Shetty [not found] ` <CGME20220207141908epcas5p4f270c89fc32434ea8b525fa973098231@epcas5p4.samsung.com> 2022-02-07 14:13 ` [PATCH v2 01/10] block: make bio_map_kern() non static Nitesh Shetty 2022-02-07 14:13 ` [dm-devel] " Nitesh Shetty [not found] ` <CGME20220207141913epcas5p4d41cb549b7cca1ede5c7a66bbd110da0@epcas5p4.samsung.com> 2022-02-07 14:13 ` [PATCH v2 02/10] block: Introduce queue limits for copy-offload support Nitesh Shetty 2022-02-07 14:13 ` [dm-devel] " Nitesh Shetty 2022-02-08 7:01 ` Damien Le Moal 2022-02-08 7:01 ` [dm-devel] " Damien Le Moal 2022-02-08 18:43 ` Nitesh Shetty 2022-02-08 18:43 ` [dm-devel] " Nitesh Shetty [not found] ` <CGME20220207141918epcas5p4f9badc0c3f3f0913f091c850d2d3bd81@epcas5p4.samsung.com> 2022-02-07 14:13 ` [PATCH v2 03/10] block: Add copy offload support infrastructure Nitesh Shetty 2022-02-07 14:13 ` [dm-devel] " Nitesh Shetty 2022-02-07 22:45 ` kernel test robot 2022-02-07 22:45 ` kernel test robot 2022-02-07 22:45 ` [dm-devel] " kernel test robot 2022-02-07 23:26 ` kernel test robot 2022-02-07 23:26 ` kernel test robot 2022-02-07 23:26 ` [dm-devel] " kernel test robot 2022-02-08 7:21 ` Damien Le Moal 2022-02-08 7:21 ` [dm-devel] " Damien Le Moal 2022-02-09 10:22 ` Nitesh Shetty 2022-02-09 10:22 ` [dm-devel] " Nitesh Shetty [not found] ` <CGME20220207141924epcas5p26ad9cf5de732224f408aded12ed0a577@epcas5p2.samsung.com> 2022-02-07 14:13 ` [PATCH v2 04/10] block: Introduce a new ioctl for copy Nitesh Shetty 2022-02-07 14:13 ` [dm-devel] " Nitesh Shetty 2022-02-09 3:39 ` kernel test robot 2022-02-09 3:39 ` kernel test robot 2022-02-09 3:39 ` kernel test robot [not found] ` <CGME20220207141930epcas5p2bcbff65f78ad1dede64648d73ddb3770@epcas5p2.samsung.com> 2022-02-07 14:13 ` [PATCH v2 05/10] block: add emulation " Nitesh Shetty 2022-02-07 14:13 ` [dm-devel] " Nitesh Shetty 2022-02-08 3:20 ` kernel test robot 2022-02-08 3:20 ` kernel test robot 2022-02-08 3:20 ` [dm-devel] " kernel test robot 2022-02-16 13:32 ` Mikulas Patocka 2022-02-16 13:32 ` [dm-devel] " Mikulas Patocka 2022-02-17 13:18 ` Nitesh Shetty 2022-02-17 13:18 ` [dm-devel] " Nitesh Shetty [not found] ` <CGME20220207141937epcas5p2bd57ae35056c69b3e2f9ee2348d6af19@epcas5p2.samsung.com> 2022-02-07 14:13 ` [PATCH v2 06/10] nvme: add copy support Nitesh Shetty 2022-02-07 14:13 ` [dm-devel] " Nitesh Shetty 2022-02-10 7:08 ` kernel test robot 2022-02-10 7:08 ` kernel test robot 2022-02-10 7:08 ` [dm-devel] " kernel test robot [not found] ` <CGME20220207141942epcas5p4bda894a5833513c9211dcecc7928a951@epcas5p4.samsung.com> 2022-02-07 14:13 ` [PATCH v2 07/10] nvmet: add copy command support for bdev and file ns Nitesh Shetty 2022-02-07 14:13 ` [dm-devel] " Nitesh Shetty 2022-02-07 18:10 ` kernel test robot 2022-02-07 18:10 ` kernel test robot 2022-02-07 18:10 ` [dm-devel] " kernel test robot 2022-02-07 20:12 ` kernel test robot 2022-02-07 20:12 ` kernel test robot 2022-02-07 20:12 ` [dm-devel] " kernel test robot 2022-02-10 8:31 ` kernel test robot 2022-02-10 8:31 ` kernel test robot 2022-02-10 8:31 ` [dm-devel] " kernel test robot [not found] ` <CGME20220207141948epcas5p4534f6bdc5a1e2e676d7d09c04f8b4a5b@epcas5p4.samsung.com> 2022-02-07 14:13 ` Nitesh Shetty [this message] 2022-02-07 14:13 ` [dm-devel] [PATCH v2 08/10] dm: Add support for copy offload Nitesh Shetty 2022-02-16 13:51 ` Mikulas Patocka 2022-02-16 13:51 ` [dm-devel] " Mikulas Patocka 2022-02-24 12:42 ` Nitesh Shetty 2022-02-24 12:42 ` [dm-devel] " Nitesh Shetty 2022-02-25 9:12 ` Mikulas Patocka 2022-02-25 9:12 ` [dm-devel] " Mikulas Patocka [not found] ` <CGME20220207141953epcas5p32ccc3c0bbe642cea074edefcc32302a5@epcas5p3.samsung.com> 2022-02-07 14:13 ` [PATCH v2 09/10] dm: Enable copy offload for dm-linear target Nitesh Shetty 2022-02-07 14:13 ` [dm-devel] " Nitesh Shetty [not found] ` <CGME20220207141958epcas5p25f1cd06726217696d13c2dfbea010565@epcas5p2.samsung.com> 2022-02-07 14:13 ` [PATCH v2 10/10] dm kcopyd: use copy offload support Nitesh Shetty 2022-02-07 14:13 ` [dm-devel] " Nitesh Shetty 2022-02-07 9:57 ` [LSF/MM/BFP ATTEND] [LSF/MM/BFP TOPIC] Storage: Copy Offload Nitesh Shetty 2022-02-07 9:57 ` [dm-devel] " Nitesh Shetty 2022-02-02 5:57 ` Kanchan Joshi 2022-02-02 5:57 ` [dm-devel] " Kanchan Joshi 2022-02-07 10:45 ` David Disseldorp 2022-02-07 10:45 ` [dm-devel] " David Disseldorp 2022-03-01 17:34 ` Nikos Tsironis 2022-03-01 17:34 ` [dm-devel] " Nikos Tsironis 2022-03-01 21:32 ` Chaitanya Kulkarni 2022-03-03 18:36 ` Nikos Tsironis 2022-03-03 18:36 ` [dm-devel] " Nikos Tsironis 2022-03-08 20:48 ` Nikos Tsironis 2022-03-08 20:48 ` [dm-devel] " Nikos Tsironis 2022-03-09 8:51 ` Mikulas Patocka 2022-03-09 8:51 ` [dm-devel] " Mikulas Patocka 2022-03-09 15:49 ` Nikos Tsironis 2022-03-09 15:49 ` [dm-devel] " Nikos Tsironis [not found] <CGME20220209075901epcas5p3cff468deadd8ef836522f032bd4ed36c@epcas5p3.samsung.com> 2022-02-08 23:31 ` [PATCH v2 03/10] block: Add copy offload support infrastructure kernel test robot 2022-02-09 7:48 ` Dan Carpenter 2022-02-09 7:48 ` [dm-devel] " Dan Carpenter 2022-02-09 7:48 ` Dan Carpenter 2022-02-09 10:32 ` Nitesh Shetty 2022-02-10 6:13 ` Nitesh Shetty 2022-02-09 10:32 ` [dm-devel] " Nitesh Shetty 2022-02-10 22:49 [PATCH v2 07/10] nvmet: add copy command support for bdev and file ns kernel test robot 2022-02-11 7:52 ` Dan Carpenter 2022-02-11 7:52 ` [dm-devel] " Dan Carpenter 2022-02-11 7:52 ` Dan Carpenter
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=20220207141348.4235-9-nj.shetty@samsung.com \ --to=nj.shetty@samsung.com \ --cc=Frederick.Knight@netapp.com \ --cc=arnav.dawn@samsung.com \ --cc=axboe@kernel.dk \ --cc=bvanassche@acm.org \ --cc=chaitanyak@nvidia.com \ --cc=clm@fb.com \ --cc=djwong@kernel.org \ --cc=dm-devel@redhat.com \ --cc=dsterba@suse.com \ --cc=hare@suse.de \ --cc=hch@lst.de \ --cc=jack@suse.com \ --cc=javier@javigon.com \ --cc=josef@toxicpanda.com \ --cc=joshi.k@samsung.com \ --cc=kbusch@kernel.org \ --cc=linux-block@vger.kernel.org \ --cc=linux-fsdevel@vger.kernel.org \ --cc=linux-nvme@lists.infradead.org \ --cc=linux-scsi@vger.kernel.org \ --cc=lsf-pc@lists.linux-foundation.org \ --cc=martin.petersen@oracle.com \ --cc=mpatocka@redhat.com \ --cc=msnitzer@redhat.com \ --cc=osandov@fb.com \ --cc=roland@purestorage.com \ --cc=tytso@mit.edu \ --cc=zach.brown@ni.com \ /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: linkBe 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.