From: Greg KH <gregkh@linuxfoundation.org>
To: SelvaKumar S <selvakuma.s1@samsung.com>
Cc: snitzer@redhat.com, djwong@kernel.org,
linux-nvme@lists.infradead.org, dm-devel@redhat.com, hch@lst.de,
agk@redhat.com, bvanassche@acm.org, linux-scsi@vger.kernel.org,
nitheshshetty@gmail.com, willy@infradead.org,
nj.shetty@samsung.com, kch@kernel.org, selvajove@gmail.com,
linux-block@vger.kernel.org, mpatocka@redhat.com,
javier.gonz@samsung.com, kbusch@kernel.org, axboe@kernel.dk,
damien.lemoal@wdc.com, joshi.k@samsung.com,
martin.petersen@oracle.com, linux-api@vger.kernel.org,
johannes.thumshirn@wdc.com, linux-fsdevel@vger.kernel.org,
joshiiitr@gmail.com, asml.silence@gmail.com
Subject: Re: [dm-devel] [PATCH 4/7] block: Introduce a new ioctl for simple copy
Date: Tue, 17 Aug 2021 15:09:44 +0200 [thread overview]
Message-ID: <YRu1GG7SRMMcNyrZ@kroah.com> (raw)
In-Reply-To: <20210817101423.12367-5-selvakuma.s1@samsung.com>
On Tue, Aug 17, 2021 at 03:44:20PM +0530, SelvaKumar S wrote:
> From: Nitesh Shetty <nj.shetty@samsung.com>
>
> Add new BLKCOPY ioctl that offloads copying of one or more sources ranges
> to a destination in the device. COPY ioctl accepts a 'copy_range'
> structure that contains destination (in sectors), no of sources and
> pointer to the array of source ranges. Each source range is represented by
> 'range_entry' that contains start and length of source ranges (in sectors)
>
> MAX_COPY_NR_RANGE, limits the number of entries for the IOCTL and
> MAX_COPY_TOTAL_LENGTH limits the total copy length, IOCTL can handle.
>
> Example code, to issue BLKCOPY:
> /* Sample example to copy three source-ranges [0, 8] [16, 8] [32,8] to
> * [64,24], on the same device */
>
> int main(void)
> {
> int ret, fd;
> struct range_entry source_range[] = {{.src = 0, .len = 8},
> {.src = 16, .len = 8}, {.src = 32, .len = 8},};
> struct copy_range cr;
>
> cr.dest = 64;
> cr.nr_range = 3;
> cr.range_list = (__u64)&source_range;
>
> fd = open("/dev/nvme0n1", O_RDWR);
> if (fd < 0) return 1;
>
> ret = ioctl(fd, BLKCOPY, &cr);
> if (ret < 0) printf("copy failure\n");
>
> close(fd);
>
> return ret;
> }
>
> Signed-off-by: Nitesh Shetty <nj.shetty@samsung.com>
> Signed-off-by: SelvaKumar S <selvakuma.s1@samsung.com>
> Signed-off-by: Kanchan Joshi <joshi.k@samsung.com>
> ---
> block/ioctl.c | 33 +++++++++++++++++++++++++++++++++
> include/uapi/linux/fs.h | 8 ++++++++
> 2 files changed, 41 insertions(+)
>
> diff --git a/block/ioctl.c b/block/ioctl.c
> index eb0491e90b9a..2af56d01e9fe 100644
> --- a/block/ioctl.c
> +++ b/block/ioctl.c
> @@ -143,6 +143,37 @@ static int blk_ioctl_discard(struct block_device *bdev, fmode_t mode,
> GFP_KERNEL, flags);
> }
>
> +static int blk_ioctl_copy(struct block_device *bdev, fmode_t mode,
> + unsigned long arg)
> +{
> + struct copy_range crange;
> + struct range_entry *rlist;
> + int ret;
> +
> + if (!(mode & FMODE_WRITE))
> + return -EBADF;
> +
> + if (copy_from_user(&crange, (void __user *)arg, sizeof(crange)))
> + return -EFAULT;
> +
> + rlist = kmalloc_array(crange.nr_range, sizeof(*rlist),
> + GFP_KERNEL);
> + if (!rlist)
> + return -ENOMEM;
> +
> + if (copy_from_user(rlist, (void __user *)crange.range_list,
> + sizeof(*rlist) * crange.nr_range)) {
> + ret = -EFAULT;
> + goto out;
> + }
> +
> + ret = blkdev_issue_copy(bdev, crange.nr_range, rlist, bdev, crange.dest,
> + GFP_KERNEL, 0);
> +out:
> + kfree(rlist);
> + return ret;
> +}
> +
> static int blk_ioctl_zeroout(struct block_device *bdev, fmode_t mode,
> unsigned long arg)
> {
> @@ -468,6 +499,8 @@ static int blkdev_common_ioctl(struct block_device *bdev, fmode_t mode,
> case BLKSECDISCARD:
> return blk_ioctl_discard(bdev, mode, arg,
> BLKDEV_DISCARD_SECURE);
> + case BLKCOPY:
> + return blk_ioctl_copy(bdev, mode, arg);
> case BLKZEROOUT:
> return blk_ioctl_zeroout(bdev, mode, arg);
> case BLKGETDISKSEQ:
> diff --git a/include/uapi/linux/fs.h b/include/uapi/linux/fs.h
> index 7a97b588d892..4183688ff398 100644
> --- a/include/uapi/linux/fs.h
> +++ b/include/uapi/linux/fs.h
> @@ -76,6 +76,13 @@ struct range_entry {
> __u64 len;
> };
>
> +struct copy_range {
> + __u64 dest;
> + __u64 nr_range;
> + __u64 range_list;
> + __u64 rsvd;
If you have a "reserved" field, you HAVE to check that it is 0. If not,
you can never use it in the future.
Also, you can spell it out, we have lots of vowels :)
thanks,
greg k-h
--
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: Greg KH <gregkh@linuxfoundation.org>
To: SelvaKumar S <selvakuma.s1@samsung.com>
Cc: linux-nvme@lists.infradead.org, linux-block@vger.kernel.org,
linux-api@vger.kernel.org, linux-scsi@vger.kernel.org,
linux-fsdevel@vger.kernel.org, dm-devel@redhat.com,
kbusch@kernel.org, axboe@kernel.dk, damien.lemoal@wdc.com,
asml.silence@gmail.com, johannes.thumshirn@wdc.com, hch@lst.de,
willy@infradead.org, kch@kernel.org, martin.petersen@oracle.com,
mpatocka@redhat.com, bvanassche@acm.org, djwong@kernel.org,
snitzer@redhat.com, agk@redhat.com, selvajove@gmail.com,
joshiiitr@gmail.com, nj.shetty@samsung.com,
nitheshshetty@gmail.com, joshi.k@samsung.com,
javier.gonz@samsung.com
Subject: Re: [PATCH 4/7] block: Introduce a new ioctl for simple copy
Date: Tue, 17 Aug 2021 15:09:44 +0200 [thread overview]
Message-ID: <YRu1GG7SRMMcNyrZ@kroah.com> (raw)
In-Reply-To: <20210817101423.12367-5-selvakuma.s1@samsung.com>
On Tue, Aug 17, 2021 at 03:44:20PM +0530, SelvaKumar S wrote:
> From: Nitesh Shetty <nj.shetty@samsung.com>
>
> Add new BLKCOPY ioctl that offloads copying of one or more sources ranges
> to a destination in the device. COPY ioctl accepts a 'copy_range'
> structure that contains destination (in sectors), no of sources and
> pointer to the array of source ranges. Each source range is represented by
> 'range_entry' that contains start and length of source ranges (in sectors)
>
> MAX_COPY_NR_RANGE, limits the number of entries for the IOCTL and
> MAX_COPY_TOTAL_LENGTH limits the total copy length, IOCTL can handle.
>
> Example code, to issue BLKCOPY:
> /* Sample example to copy three source-ranges [0, 8] [16, 8] [32,8] to
> * [64,24], on the same device */
>
> int main(void)
> {
> int ret, fd;
> struct range_entry source_range[] = {{.src = 0, .len = 8},
> {.src = 16, .len = 8}, {.src = 32, .len = 8},};
> struct copy_range cr;
>
> cr.dest = 64;
> cr.nr_range = 3;
> cr.range_list = (__u64)&source_range;
>
> fd = open("/dev/nvme0n1", O_RDWR);
> if (fd < 0) return 1;
>
> ret = ioctl(fd, BLKCOPY, &cr);
> if (ret < 0) printf("copy failure\n");
>
> close(fd);
>
> return ret;
> }
>
> Signed-off-by: Nitesh Shetty <nj.shetty@samsung.com>
> Signed-off-by: SelvaKumar S <selvakuma.s1@samsung.com>
> Signed-off-by: Kanchan Joshi <joshi.k@samsung.com>
> ---
> block/ioctl.c | 33 +++++++++++++++++++++++++++++++++
> include/uapi/linux/fs.h | 8 ++++++++
> 2 files changed, 41 insertions(+)
>
> diff --git a/block/ioctl.c b/block/ioctl.c
> index eb0491e90b9a..2af56d01e9fe 100644
> --- a/block/ioctl.c
> +++ b/block/ioctl.c
> @@ -143,6 +143,37 @@ static int blk_ioctl_discard(struct block_device *bdev, fmode_t mode,
> GFP_KERNEL, flags);
> }
>
> +static int blk_ioctl_copy(struct block_device *bdev, fmode_t mode,
> + unsigned long arg)
> +{
> + struct copy_range crange;
> + struct range_entry *rlist;
> + int ret;
> +
> + if (!(mode & FMODE_WRITE))
> + return -EBADF;
> +
> + if (copy_from_user(&crange, (void __user *)arg, sizeof(crange)))
> + return -EFAULT;
> +
> + rlist = kmalloc_array(crange.nr_range, sizeof(*rlist),
> + GFP_KERNEL);
> + if (!rlist)
> + return -ENOMEM;
> +
> + if (copy_from_user(rlist, (void __user *)crange.range_list,
> + sizeof(*rlist) * crange.nr_range)) {
> + ret = -EFAULT;
> + goto out;
> + }
> +
> + ret = blkdev_issue_copy(bdev, crange.nr_range, rlist, bdev, crange.dest,
> + GFP_KERNEL, 0);
> +out:
> + kfree(rlist);
> + return ret;
> +}
> +
> static int blk_ioctl_zeroout(struct block_device *bdev, fmode_t mode,
> unsigned long arg)
> {
> @@ -468,6 +499,8 @@ static int blkdev_common_ioctl(struct block_device *bdev, fmode_t mode,
> case BLKSECDISCARD:
> return blk_ioctl_discard(bdev, mode, arg,
> BLKDEV_DISCARD_SECURE);
> + case BLKCOPY:
> + return blk_ioctl_copy(bdev, mode, arg);
> case BLKZEROOUT:
> return blk_ioctl_zeroout(bdev, mode, arg);
> case BLKGETDISKSEQ:
> diff --git a/include/uapi/linux/fs.h b/include/uapi/linux/fs.h
> index 7a97b588d892..4183688ff398 100644
> --- a/include/uapi/linux/fs.h
> +++ b/include/uapi/linux/fs.h
> @@ -76,6 +76,13 @@ struct range_entry {
> __u64 len;
> };
>
> +struct copy_range {
> + __u64 dest;
> + __u64 nr_range;
> + __u64 range_list;
> + __u64 rsvd;
If you have a "reserved" field, you HAVE to check that it is 0. If not,
you can never use it in the future.
Also, you can spell it out, we have lots of vowels :)
thanks,
greg k-h
WARNING: multiple messages have this Message-ID (diff)
From: Greg KH <gregkh@linuxfoundation.org>
To: SelvaKumar S <selvakuma.s1@samsung.com>
Cc: linux-nvme@lists.infradead.org, linux-block@vger.kernel.org,
linux-api@vger.kernel.org, linux-scsi@vger.kernel.org,
linux-fsdevel@vger.kernel.org, dm-devel@redhat.com,
kbusch@kernel.org, axboe@kernel.dk, damien.lemoal@wdc.com,
asml.silence@gmail.com, johannes.thumshirn@wdc.com, hch@lst.de,
willy@infradead.org, kch@kernel.org, martin.petersen@oracle.com,
mpatocka@redhat.com, bvanassche@acm.org, djwong@kernel.org,
snitzer@redhat.com, agk@redhat.com, selvajove@gmail.com,
joshiiitr@gmail.com, nj.shetty@samsung.com,
nitheshshetty@gmail.com, joshi.k@samsung.com,
javier.gonz@samsung.com
Subject: Re: [PATCH 4/7] block: Introduce a new ioctl for simple copy
Date: Tue, 17 Aug 2021 15:09:44 +0200 [thread overview]
Message-ID: <YRu1GG7SRMMcNyrZ@kroah.com> (raw)
In-Reply-To: <20210817101423.12367-5-selvakuma.s1@samsung.com>
On Tue, Aug 17, 2021 at 03:44:20PM +0530, SelvaKumar S wrote:
> From: Nitesh Shetty <nj.shetty@samsung.com>
>
> Add new BLKCOPY ioctl that offloads copying of one or more sources ranges
> to a destination in the device. COPY ioctl accepts a 'copy_range'
> structure that contains destination (in sectors), no of sources and
> pointer to the array of source ranges. Each source range is represented by
> 'range_entry' that contains start and length of source ranges (in sectors)
>
> MAX_COPY_NR_RANGE, limits the number of entries for the IOCTL and
> MAX_COPY_TOTAL_LENGTH limits the total copy length, IOCTL can handle.
>
> Example code, to issue BLKCOPY:
> /* Sample example to copy three source-ranges [0, 8] [16, 8] [32,8] to
> * [64,24], on the same device */
>
> int main(void)
> {
> int ret, fd;
> struct range_entry source_range[] = {{.src = 0, .len = 8},
> {.src = 16, .len = 8}, {.src = 32, .len = 8},};
> struct copy_range cr;
>
> cr.dest = 64;
> cr.nr_range = 3;
> cr.range_list = (__u64)&source_range;
>
> fd = open("/dev/nvme0n1", O_RDWR);
> if (fd < 0) return 1;
>
> ret = ioctl(fd, BLKCOPY, &cr);
> if (ret < 0) printf("copy failure\n");
>
> close(fd);
>
> return ret;
> }
>
> Signed-off-by: Nitesh Shetty <nj.shetty@samsung.com>
> Signed-off-by: SelvaKumar S <selvakuma.s1@samsung.com>
> Signed-off-by: Kanchan Joshi <joshi.k@samsung.com>
> ---
> block/ioctl.c | 33 +++++++++++++++++++++++++++++++++
> include/uapi/linux/fs.h | 8 ++++++++
> 2 files changed, 41 insertions(+)
>
> diff --git a/block/ioctl.c b/block/ioctl.c
> index eb0491e90b9a..2af56d01e9fe 100644
> --- a/block/ioctl.c
> +++ b/block/ioctl.c
> @@ -143,6 +143,37 @@ static int blk_ioctl_discard(struct block_device *bdev, fmode_t mode,
> GFP_KERNEL, flags);
> }
>
> +static int blk_ioctl_copy(struct block_device *bdev, fmode_t mode,
> + unsigned long arg)
> +{
> + struct copy_range crange;
> + struct range_entry *rlist;
> + int ret;
> +
> + if (!(mode & FMODE_WRITE))
> + return -EBADF;
> +
> + if (copy_from_user(&crange, (void __user *)arg, sizeof(crange)))
> + return -EFAULT;
> +
> + rlist = kmalloc_array(crange.nr_range, sizeof(*rlist),
> + GFP_KERNEL);
> + if (!rlist)
> + return -ENOMEM;
> +
> + if (copy_from_user(rlist, (void __user *)crange.range_list,
> + sizeof(*rlist) * crange.nr_range)) {
> + ret = -EFAULT;
> + goto out;
> + }
> +
> + ret = blkdev_issue_copy(bdev, crange.nr_range, rlist, bdev, crange.dest,
> + GFP_KERNEL, 0);
> +out:
> + kfree(rlist);
> + return ret;
> +}
> +
> static int blk_ioctl_zeroout(struct block_device *bdev, fmode_t mode,
> unsigned long arg)
> {
> @@ -468,6 +499,8 @@ static int blkdev_common_ioctl(struct block_device *bdev, fmode_t mode,
> case BLKSECDISCARD:
> return blk_ioctl_discard(bdev, mode, arg,
> BLKDEV_DISCARD_SECURE);
> + case BLKCOPY:
> + return blk_ioctl_copy(bdev, mode, arg);
> case BLKZEROOUT:
> return blk_ioctl_zeroout(bdev, mode, arg);
> case BLKGETDISKSEQ:
> diff --git a/include/uapi/linux/fs.h b/include/uapi/linux/fs.h
> index 7a97b588d892..4183688ff398 100644
> --- a/include/uapi/linux/fs.h
> +++ b/include/uapi/linux/fs.h
> @@ -76,6 +76,13 @@ struct range_entry {
> __u64 len;
> };
>
> +struct copy_range {
> + __u64 dest;
> + __u64 nr_range;
> + __u64 range_list;
> + __u64 rsvd;
If you have a "reserved" field, you HAVE to check that it is 0. If not,
you can never use it in the future.
Also, you can spell it out, we have lots of vowels :)
thanks,
greg k-h
_______________________________________________
Linux-nvme mailing list
Linux-nvme@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-nvme
next prev parent reply other threads:[~2021-08-17 13:10 UTC|newest]
Thread overview: 92+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CGME20210817101741epcas5p174ca0a539587da6a67b9f58cd13f2bad@epcas5p1.samsung.com>
2021-08-17 10:14 ` [dm-devel] [PATCH 0/7] add simple copy support SelvaKumar S
2021-08-17 10:14 ` SelvaKumar S
2021-08-17 10:14 ` SelvaKumar S
2021-08-17 10:14 ` [dm-devel] [PATCH 1/7] block: make bio_map_kern() non static SelvaKumar S
2021-08-17 10:14 ` SelvaKumar S
2021-08-17 10:14 ` SelvaKumar S
2021-08-17 10:14 ` [dm-devel] [PATCH 2/7] block: Introduce queue limits for copy-offload support SelvaKumar S
2021-08-17 10:14 ` SelvaKumar S
2021-08-17 10:14 ` SelvaKumar S
2021-08-17 13:08 ` [dm-devel] " Greg KH
2021-08-17 13:08 ` Greg KH
2021-08-17 13:08 ` Greg KH
2021-08-17 14:42 ` [dm-devel] " Nitesh Shetty
2021-08-17 14:42 ` Nitesh Shetty
2021-08-17 14:42 ` Nitesh Shetty
2021-08-17 10:14 ` [dm-devel] [PATCH 3/7] block: copy offload support infrastructure SelvaKumar S
2021-08-17 10:14 ` SelvaKumar S
2021-08-17 10:14 ` SelvaKumar S
2021-08-17 17:14 ` [dm-devel] " Bart Van Assche
2021-08-17 17:14 ` Bart Van Assche
2021-08-17 17:14 ` Bart Van Assche
2021-08-17 20:41 ` [dm-devel] " Mikulas Patocka
2021-08-17 20:41 ` Mikulas Patocka
2021-08-17 20:41 ` Mikulas Patocka
2021-08-17 21:53 ` [dm-devel] " Douglas Gilbert
2021-08-17 21:53 ` Douglas Gilbert
2021-08-17 21:53 ` Douglas Gilbert
2021-08-17 22:06 ` [dm-devel] " Bart Van Assche
2021-08-17 22:06 ` Bart Van Assche
2021-08-17 22:06 ` Bart Van Assche
2021-08-20 10:39 ` [dm-devel] " Kanchan Joshi
2021-08-20 10:39 ` Kanchan Joshi
2021-08-20 10:39 ` Kanchan Joshi
2021-08-20 21:18 ` [dm-devel] " Bart Van Assche
2021-08-20 21:18 ` Bart Van Assche
2021-08-20 21:18 ` Bart Van Assche
2021-08-26 7:46 ` [dm-devel] " Nitesh Shetty
2021-08-26 7:46 ` Nitesh Shetty
2021-08-26 7:46 ` Nitesh Shetty
2021-08-17 20:35 ` [dm-devel] " kernel test robot
2021-08-17 20:35 ` kernel test robot
2021-08-17 20:35 ` kernel test robot
2021-08-17 20:35 ` kernel test robot
2021-08-18 18:35 ` [dm-devel] " Martin K. Petersen
2021-08-18 18:35 ` Martin K. Petersen
2021-08-18 18:35 ` Martin K. Petersen
2021-08-20 11:11 ` [dm-devel] " Kanchan Joshi
2021-08-20 11:11 ` Kanchan Joshi
2021-08-20 11:11 ` Kanchan Joshi
2021-08-17 10:14 ` [dm-devel] [PATCH 4/7] block: Introduce a new ioctl for simple copy SelvaKumar S
2021-08-17 10:14 ` SelvaKumar S
2021-08-17 10:14 ` SelvaKumar S
2021-08-17 13:09 ` Greg KH [this message]
2021-08-17 13:09 ` Greg KH
2021-08-17 13:09 ` Greg KH
2021-08-17 13:10 ` [dm-devel] " Greg KH
2021-08-17 13:10 ` Greg KH
2021-08-17 13:10 ` Greg KH
2021-08-17 14:48 ` [dm-devel] " Nitesh Shetty
2021-08-17 14:48 ` Nitesh Shetty
2021-08-17 14:48 ` Nitesh Shetty
2021-08-17 23:36 ` [dm-devel] " Darrick J. Wong
2021-08-17 23:36 ` Darrick J. Wong
2021-08-17 23:36 ` Darrick J. Wong
2021-08-18 15:37 ` [dm-devel] " Nitesh Shetty
2021-08-18 15:37 ` Nitesh Shetty
2021-08-18 15:37 ` Nitesh Shetty
2021-08-18 16:17 ` [dm-devel] " Darrick J. Wong
2021-08-18 16:17 ` Darrick J. Wong
2021-08-18 16:17 ` Darrick J. Wong
2021-08-17 10:14 ` [dm-devel] [PATCH 5/7] block: add emulation " SelvaKumar S
2021-08-17 10:14 ` SelvaKumar S
2021-08-17 10:14 ` SelvaKumar S
2021-08-17 22:10 ` [dm-devel] " kernel test robot
2021-08-17 22:10 ` kernel test robot
2021-08-17 22:10 ` kernel test robot
2021-08-17 22:10 ` kernel test robot
2021-08-17 10:14 ` [dm-devel] [PATCH 6/7] nvme: add simple copy support SelvaKumar S
2021-08-17 10:14 ` SelvaKumar S
2021-08-17 10:14 ` SelvaKumar S
2021-08-17 10:14 ` [dm-devel] [PATCH 7/7] dm kcopyd: add simple copy offload support SelvaKumar S
2021-08-17 10:14 ` SelvaKumar S
2021-08-17 10:14 ` SelvaKumar S
2021-08-17 20:29 ` [dm-devel] " Mikulas Patocka
2021-08-17 20:29 ` Mikulas Patocka
2021-08-17 20:29 ` Mikulas Patocka
2021-08-17 23:37 ` [dm-devel] [PATCH 0/7] add simple copy support Darrick J. Wong
2021-08-17 23:37 ` Darrick J. Wong
2021-08-17 23:37 ` Darrick J. Wong
2021-08-18 15:40 ` [dm-devel] " Nitesh Shetty
2021-08-18 15:40 ` Nitesh Shetty
2021-08-18 15:40 ` Nitesh Shetty
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=YRu1GG7SRMMcNyrZ@kroah.com \
--to=gregkh@linuxfoundation.org \
--cc=agk@redhat.com \
--cc=asml.silence@gmail.com \
--cc=axboe@kernel.dk \
--cc=bvanassche@acm.org \
--cc=damien.lemoal@wdc.com \
--cc=djwong@kernel.org \
--cc=dm-devel@redhat.com \
--cc=hch@lst.de \
--cc=javier.gonz@samsung.com \
--cc=johannes.thumshirn@wdc.com \
--cc=joshi.k@samsung.com \
--cc=joshiiitr@gmail.com \
--cc=kbusch@kernel.org \
--cc=kch@kernel.org \
--cc=linux-api@vger.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=martin.petersen@oracle.com \
--cc=mpatocka@redhat.com \
--cc=nitheshshetty@gmail.com \
--cc=nj.shetty@samsung.com \
--cc=selvajove@gmail.com \
--cc=selvakuma.s1@samsung.com \
--cc=snitzer@redhat.com \
--cc=willy@infradead.org \
/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.