From: Dan Carpenter <dan.carpenter@oracle.com>
To: kbuild@lists.01.org, Nitesh Shetty <nj.shetty@samsung.com>,
mpatocka@redhat.com
Cc: lkp@intel.com, kbuild-all@lists.01.org, 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,
SelvaKumar S <selvakuma.s1@samsung.com>
Subject: Re: [PATCH v2 03/10] block: Add copy offload support infrastructure
Date: Wed, 9 Feb 2022 10:48:44 +0300 [thread overview]
Message-ID: <202202090703.U5riBMIn-lkp@intel.com> (raw)
In-Reply-To: <20220207141348.4235-4-nj.shetty@samsung.com>
Hi Nitesh,
url: https://github.com/0day-ci/linux/commits/Nitesh-Shetty/block-make-bio_map_kern-non-static/20220207-231407
base: https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git for-next
config: i386-randconfig-m021-20220207 (https://download.01.org/0day-ci/archive/20220209/202202090703.U5riBMIn-lkp@intel.com/config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
smatch warnings:
block/blk-lib.c:272 blk_copy_offload() warn: possible memory leak of 'ctx'
vim +/ctx +272 block/blk-lib.c
12a9801a7301f1 Nitesh Shetty 2022-02-07 185 int blk_copy_offload(struct block_device *src_bdev, int nr_srcs,
12a9801a7301f1 Nitesh Shetty 2022-02-07 186 struct range_entry *rlist, struct block_device *dst_bdev, gfp_t gfp_mask)
12a9801a7301f1 Nitesh Shetty 2022-02-07 187 {
12a9801a7301f1 Nitesh Shetty 2022-02-07 188 struct request_queue *sq = bdev_get_queue(src_bdev);
12a9801a7301f1 Nitesh Shetty 2022-02-07 189 struct request_queue *dq = bdev_get_queue(dst_bdev);
12a9801a7301f1 Nitesh Shetty 2022-02-07 190 struct bio *read_bio, *write_bio;
12a9801a7301f1 Nitesh Shetty 2022-02-07 191 struct copy_ctx *ctx;
12a9801a7301f1 Nitesh Shetty 2022-02-07 192 struct cio *cio;
12a9801a7301f1 Nitesh Shetty 2022-02-07 193 struct page *token;
12a9801a7301f1 Nitesh Shetty 2022-02-07 194 sector_t src_blk, copy_len, dst_blk;
12a9801a7301f1 Nitesh Shetty 2022-02-07 195 sector_t remaining, max_copy_len = LONG_MAX;
12a9801a7301f1 Nitesh Shetty 2022-02-07 196 int ri = 0, ret = 0;
12a9801a7301f1 Nitesh Shetty 2022-02-07 197
12a9801a7301f1 Nitesh Shetty 2022-02-07 198 cio = kzalloc(sizeof(struct cio), GFP_KERNEL);
12a9801a7301f1 Nitesh Shetty 2022-02-07 199 if (!cio)
12a9801a7301f1 Nitesh Shetty 2022-02-07 200 return -ENOMEM;
12a9801a7301f1 Nitesh Shetty 2022-02-07 201 atomic_set(&cio->refcount, 0);
12a9801a7301f1 Nitesh Shetty 2022-02-07 202 cio->rlist = rlist;
12a9801a7301f1 Nitesh Shetty 2022-02-07 203
12a9801a7301f1 Nitesh Shetty 2022-02-07 204 max_copy_len = min3(max_copy_len, (sector_t)sq->limits.max_copy_sectors,
12a9801a7301f1 Nitesh Shetty 2022-02-07 205 (sector_t)dq->limits.max_copy_sectors);
12a9801a7301f1 Nitesh Shetty 2022-02-07 206 max_copy_len = min3(max_copy_len, (sector_t)sq->limits.max_copy_range_sectors,
12a9801a7301f1 Nitesh Shetty 2022-02-07 207 (sector_t)dq->limits.max_copy_range_sectors) << SECTOR_SHIFT;
12a9801a7301f1 Nitesh Shetty 2022-02-07 208
12a9801a7301f1 Nitesh Shetty 2022-02-07 209 for (ri = 0; ri < nr_srcs; ri++) {
12a9801a7301f1 Nitesh Shetty 2022-02-07 210 cio->rlist[ri].comp_len = rlist[ri].len;
12a9801a7301f1 Nitesh Shetty 2022-02-07 211 for (remaining = rlist[ri].len, src_blk = rlist[ri].src, dst_blk = rlist[ri].dst;
12a9801a7301f1 Nitesh Shetty 2022-02-07 212 remaining > 0;
12a9801a7301f1 Nitesh Shetty 2022-02-07 213 remaining -= copy_len, src_blk += copy_len, dst_blk += copy_len) {
12a9801a7301f1 Nitesh Shetty 2022-02-07 214 copy_len = min(remaining, max_copy_len);
12a9801a7301f1 Nitesh Shetty 2022-02-07 215
12a9801a7301f1 Nitesh Shetty 2022-02-07 216 token = alloc_page(gfp_mask);
12a9801a7301f1 Nitesh Shetty 2022-02-07 217 if (unlikely(!token)) {
12a9801a7301f1 Nitesh Shetty 2022-02-07 218 ret = -ENOMEM;
12a9801a7301f1 Nitesh Shetty 2022-02-07 219 goto err_token;
12a9801a7301f1 Nitesh Shetty 2022-02-07 220 }
12a9801a7301f1 Nitesh Shetty 2022-02-07 221
12a9801a7301f1 Nitesh Shetty 2022-02-07 222 read_bio = bio_alloc(src_bdev, 1, REQ_OP_READ | REQ_COPY | REQ_NOMERGE,
12a9801a7301f1 Nitesh Shetty 2022-02-07 223 gfp_mask);
12a9801a7301f1 Nitesh Shetty 2022-02-07 224 if (!read_bio) {
12a9801a7301f1 Nitesh Shetty 2022-02-07 225 ret = -ENOMEM;
12a9801a7301f1 Nitesh Shetty 2022-02-07 226 goto err_read_bio;
12a9801a7301f1 Nitesh Shetty 2022-02-07 227 }
12a9801a7301f1 Nitesh Shetty 2022-02-07 228 read_bio->bi_iter.bi_sector = src_blk >> SECTOR_SHIFT;
12a9801a7301f1 Nitesh Shetty 2022-02-07 229 read_bio->bi_iter.bi_size = copy_len;
12a9801a7301f1 Nitesh Shetty 2022-02-07 230 __bio_add_page(read_bio, token, PAGE_SIZE, 0);
12a9801a7301f1 Nitesh Shetty 2022-02-07 231 ret = submit_bio_wait(read_bio);
12a9801a7301f1 Nitesh Shetty 2022-02-07 232 if (ret) {
12a9801a7301f1 Nitesh Shetty 2022-02-07 233 bio_put(read_bio);
12a9801a7301f1 Nitesh Shetty 2022-02-07 234 goto err_read_bio;
12a9801a7301f1 Nitesh Shetty 2022-02-07 235 }
12a9801a7301f1 Nitesh Shetty 2022-02-07 236 bio_put(read_bio);
12a9801a7301f1 Nitesh Shetty 2022-02-07 237 ctx = kzalloc(sizeof(struct copy_ctx), gfp_mask);
12a9801a7301f1 Nitesh Shetty 2022-02-07 238 if (!ctx) {
12a9801a7301f1 Nitesh Shetty 2022-02-07 239 ret = -ENOMEM;
12a9801a7301f1 Nitesh Shetty 2022-02-07 240 goto err_read_bio;
12a9801a7301f1 Nitesh Shetty 2022-02-07 241 }
12a9801a7301f1 Nitesh Shetty 2022-02-07 242 ctx->cio = cio;
12a9801a7301f1 Nitesh Shetty 2022-02-07 243 ctx->range_idx = ri;
12a9801a7301f1 Nitesh Shetty 2022-02-07 244 ctx->start_sec = rlist[ri].src;
12a9801a7301f1 Nitesh Shetty 2022-02-07 245
12a9801a7301f1 Nitesh Shetty 2022-02-07 246 write_bio = bio_alloc(dst_bdev, 1, REQ_OP_WRITE | REQ_COPY | REQ_NOMERGE,
12a9801a7301f1 Nitesh Shetty 2022-02-07 247 gfp_mask);
12a9801a7301f1 Nitesh Shetty 2022-02-07 248 if (!write_bio) {
Please call kfree(ctx) before the goto.
12a9801a7301f1 Nitesh Shetty 2022-02-07 249 ret = -ENOMEM;
12a9801a7301f1 Nitesh Shetty 2022-02-07 250 goto err_read_bio;
12a9801a7301f1 Nitesh Shetty 2022-02-07 251 }
12a9801a7301f1 Nitesh Shetty 2022-02-07 252
12a9801a7301f1 Nitesh Shetty 2022-02-07 253 write_bio->bi_iter.bi_sector = dst_blk >> SECTOR_SHIFT;
12a9801a7301f1 Nitesh Shetty 2022-02-07 254 write_bio->bi_iter.bi_size = copy_len;
12a9801a7301f1 Nitesh Shetty 2022-02-07 255 __bio_add_page(write_bio, token, PAGE_SIZE, 0);
12a9801a7301f1 Nitesh Shetty 2022-02-07 256 write_bio->bi_end_io = bio_copy_end_io;
12a9801a7301f1 Nitesh Shetty 2022-02-07 257 write_bio->bi_private = ctx;
12a9801a7301f1 Nitesh Shetty 2022-02-07 258 atomic_inc(&cio->refcount);
12a9801a7301f1 Nitesh Shetty 2022-02-07 259 submit_bio(write_bio);
12a9801a7301f1 Nitesh Shetty 2022-02-07 260 }
12a9801a7301f1 Nitesh Shetty 2022-02-07 261 }
12a9801a7301f1 Nitesh Shetty 2022-02-07 262
12a9801a7301f1 Nitesh Shetty 2022-02-07 263 /* Wait for completion of all IO's*/
12a9801a7301f1 Nitesh Shetty 2022-02-07 264 return cio_await_completion(cio);
12a9801a7301f1 Nitesh Shetty 2022-02-07 265
12a9801a7301f1 Nitesh Shetty 2022-02-07 266 err_read_bio:
12a9801a7301f1 Nitesh Shetty 2022-02-07 267 __free_page(token);
12a9801a7301f1 Nitesh Shetty 2022-02-07 268 err_token:
12a9801a7301f1 Nitesh Shetty 2022-02-07 269 rlist[ri].comp_len = min_t(sector_t, rlist[ri].comp_len, (rlist[ri].len - remaining));
12a9801a7301f1 Nitesh Shetty 2022-02-07 270
12a9801a7301f1 Nitesh Shetty 2022-02-07 271 cio->io_err = ret;
12a9801a7301f1 Nitesh Shetty 2022-02-07 @272 return cio_await_completion(cio);
12a9801a7301f1 Nitesh Shetty 2022-02-07 273 }
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
WARNING: multiple messages have this Message-ID (diff)
From: Dan Carpenter <dan.carpenter@oracle.com>
To: kbuild@lists.01.org, Nitesh Shetty <nj.shetty@samsung.com>,
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,
lkp@intel.com, linux-scsi@vger.kernel.org, hch@lst.de,
roland@purestorage.com, nj.shetty@samsung.com, zach.brown@ni.com,
chaitanyak@nvidia.com, SelvaKumar S <selvakuma.s1@samsung.com>,
msnitzer@redhat.com, josef@toxicpanda.com,
linux-block@vger.kernel.org, dsterba@suse.com, kbusch@kernel.org,
tytso@mit.edu, Frederick.Knight@netapp.com, bvanassche@acm.org,
axboe@kernel.dk, kbuild-all@lists.01.org, 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: Re: [dm-devel] [PATCH v2 03/10] block: Add copy offload support infrastructure
Date: Wed, 9 Feb 2022 10:48:44 +0300 [thread overview]
Message-ID: <202202090703.U5riBMIn-lkp@intel.com> (raw)
In-Reply-To: <20220207141348.4235-4-nj.shetty@samsung.com>
Hi Nitesh,
url: https://github.com/0day-ci/linux/commits/Nitesh-Shetty/block-make-bio_map_kern-non-static/20220207-231407
base: https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git for-next
config: i386-randconfig-m021-20220207 (https://download.01.org/0day-ci/archive/20220209/202202090703.U5riBMIn-lkp@intel.com/config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
smatch warnings:
block/blk-lib.c:272 blk_copy_offload() warn: possible memory leak of 'ctx'
vim +/ctx +272 block/blk-lib.c
12a9801a7301f1 Nitesh Shetty 2022-02-07 185 int blk_copy_offload(struct block_device *src_bdev, int nr_srcs,
12a9801a7301f1 Nitesh Shetty 2022-02-07 186 struct range_entry *rlist, struct block_device *dst_bdev, gfp_t gfp_mask)
12a9801a7301f1 Nitesh Shetty 2022-02-07 187 {
12a9801a7301f1 Nitesh Shetty 2022-02-07 188 struct request_queue *sq = bdev_get_queue(src_bdev);
12a9801a7301f1 Nitesh Shetty 2022-02-07 189 struct request_queue *dq = bdev_get_queue(dst_bdev);
12a9801a7301f1 Nitesh Shetty 2022-02-07 190 struct bio *read_bio, *write_bio;
12a9801a7301f1 Nitesh Shetty 2022-02-07 191 struct copy_ctx *ctx;
12a9801a7301f1 Nitesh Shetty 2022-02-07 192 struct cio *cio;
12a9801a7301f1 Nitesh Shetty 2022-02-07 193 struct page *token;
12a9801a7301f1 Nitesh Shetty 2022-02-07 194 sector_t src_blk, copy_len, dst_blk;
12a9801a7301f1 Nitesh Shetty 2022-02-07 195 sector_t remaining, max_copy_len = LONG_MAX;
12a9801a7301f1 Nitesh Shetty 2022-02-07 196 int ri = 0, ret = 0;
12a9801a7301f1 Nitesh Shetty 2022-02-07 197
12a9801a7301f1 Nitesh Shetty 2022-02-07 198 cio = kzalloc(sizeof(struct cio), GFP_KERNEL);
12a9801a7301f1 Nitesh Shetty 2022-02-07 199 if (!cio)
12a9801a7301f1 Nitesh Shetty 2022-02-07 200 return -ENOMEM;
12a9801a7301f1 Nitesh Shetty 2022-02-07 201 atomic_set(&cio->refcount, 0);
12a9801a7301f1 Nitesh Shetty 2022-02-07 202 cio->rlist = rlist;
12a9801a7301f1 Nitesh Shetty 2022-02-07 203
12a9801a7301f1 Nitesh Shetty 2022-02-07 204 max_copy_len = min3(max_copy_len, (sector_t)sq->limits.max_copy_sectors,
12a9801a7301f1 Nitesh Shetty 2022-02-07 205 (sector_t)dq->limits.max_copy_sectors);
12a9801a7301f1 Nitesh Shetty 2022-02-07 206 max_copy_len = min3(max_copy_len, (sector_t)sq->limits.max_copy_range_sectors,
12a9801a7301f1 Nitesh Shetty 2022-02-07 207 (sector_t)dq->limits.max_copy_range_sectors) << SECTOR_SHIFT;
12a9801a7301f1 Nitesh Shetty 2022-02-07 208
12a9801a7301f1 Nitesh Shetty 2022-02-07 209 for (ri = 0; ri < nr_srcs; ri++) {
12a9801a7301f1 Nitesh Shetty 2022-02-07 210 cio->rlist[ri].comp_len = rlist[ri].len;
12a9801a7301f1 Nitesh Shetty 2022-02-07 211 for (remaining = rlist[ri].len, src_blk = rlist[ri].src, dst_blk = rlist[ri].dst;
12a9801a7301f1 Nitesh Shetty 2022-02-07 212 remaining > 0;
12a9801a7301f1 Nitesh Shetty 2022-02-07 213 remaining -= copy_len, src_blk += copy_len, dst_blk += copy_len) {
12a9801a7301f1 Nitesh Shetty 2022-02-07 214 copy_len = min(remaining, max_copy_len);
12a9801a7301f1 Nitesh Shetty 2022-02-07 215
12a9801a7301f1 Nitesh Shetty 2022-02-07 216 token = alloc_page(gfp_mask);
12a9801a7301f1 Nitesh Shetty 2022-02-07 217 if (unlikely(!token)) {
12a9801a7301f1 Nitesh Shetty 2022-02-07 218 ret = -ENOMEM;
12a9801a7301f1 Nitesh Shetty 2022-02-07 219 goto err_token;
12a9801a7301f1 Nitesh Shetty 2022-02-07 220 }
12a9801a7301f1 Nitesh Shetty 2022-02-07 221
12a9801a7301f1 Nitesh Shetty 2022-02-07 222 read_bio = bio_alloc(src_bdev, 1, REQ_OP_READ | REQ_COPY | REQ_NOMERGE,
12a9801a7301f1 Nitesh Shetty 2022-02-07 223 gfp_mask);
12a9801a7301f1 Nitesh Shetty 2022-02-07 224 if (!read_bio) {
12a9801a7301f1 Nitesh Shetty 2022-02-07 225 ret = -ENOMEM;
12a9801a7301f1 Nitesh Shetty 2022-02-07 226 goto err_read_bio;
12a9801a7301f1 Nitesh Shetty 2022-02-07 227 }
12a9801a7301f1 Nitesh Shetty 2022-02-07 228 read_bio->bi_iter.bi_sector = src_blk >> SECTOR_SHIFT;
12a9801a7301f1 Nitesh Shetty 2022-02-07 229 read_bio->bi_iter.bi_size = copy_len;
12a9801a7301f1 Nitesh Shetty 2022-02-07 230 __bio_add_page(read_bio, token, PAGE_SIZE, 0);
12a9801a7301f1 Nitesh Shetty 2022-02-07 231 ret = submit_bio_wait(read_bio);
12a9801a7301f1 Nitesh Shetty 2022-02-07 232 if (ret) {
12a9801a7301f1 Nitesh Shetty 2022-02-07 233 bio_put(read_bio);
12a9801a7301f1 Nitesh Shetty 2022-02-07 234 goto err_read_bio;
12a9801a7301f1 Nitesh Shetty 2022-02-07 235 }
12a9801a7301f1 Nitesh Shetty 2022-02-07 236 bio_put(read_bio);
12a9801a7301f1 Nitesh Shetty 2022-02-07 237 ctx = kzalloc(sizeof(struct copy_ctx), gfp_mask);
12a9801a7301f1 Nitesh Shetty 2022-02-07 238 if (!ctx) {
12a9801a7301f1 Nitesh Shetty 2022-02-07 239 ret = -ENOMEM;
12a9801a7301f1 Nitesh Shetty 2022-02-07 240 goto err_read_bio;
12a9801a7301f1 Nitesh Shetty 2022-02-07 241 }
12a9801a7301f1 Nitesh Shetty 2022-02-07 242 ctx->cio = cio;
12a9801a7301f1 Nitesh Shetty 2022-02-07 243 ctx->range_idx = ri;
12a9801a7301f1 Nitesh Shetty 2022-02-07 244 ctx->start_sec = rlist[ri].src;
12a9801a7301f1 Nitesh Shetty 2022-02-07 245
12a9801a7301f1 Nitesh Shetty 2022-02-07 246 write_bio = bio_alloc(dst_bdev, 1, REQ_OP_WRITE | REQ_COPY | REQ_NOMERGE,
12a9801a7301f1 Nitesh Shetty 2022-02-07 247 gfp_mask);
12a9801a7301f1 Nitesh Shetty 2022-02-07 248 if (!write_bio) {
Please call kfree(ctx) before the goto.
12a9801a7301f1 Nitesh Shetty 2022-02-07 249 ret = -ENOMEM;
12a9801a7301f1 Nitesh Shetty 2022-02-07 250 goto err_read_bio;
12a9801a7301f1 Nitesh Shetty 2022-02-07 251 }
12a9801a7301f1 Nitesh Shetty 2022-02-07 252
12a9801a7301f1 Nitesh Shetty 2022-02-07 253 write_bio->bi_iter.bi_sector = dst_blk >> SECTOR_SHIFT;
12a9801a7301f1 Nitesh Shetty 2022-02-07 254 write_bio->bi_iter.bi_size = copy_len;
12a9801a7301f1 Nitesh Shetty 2022-02-07 255 __bio_add_page(write_bio, token, PAGE_SIZE, 0);
12a9801a7301f1 Nitesh Shetty 2022-02-07 256 write_bio->bi_end_io = bio_copy_end_io;
12a9801a7301f1 Nitesh Shetty 2022-02-07 257 write_bio->bi_private = ctx;
12a9801a7301f1 Nitesh Shetty 2022-02-07 258 atomic_inc(&cio->refcount);
12a9801a7301f1 Nitesh Shetty 2022-02-07 259 submit_bio(write_bio);
12a9801a7301f1 Nitesh Shetty 2022-02-07 260 }
12a9801a7301f1 Nitesh Shetty 2022-02-07 261 }
12a9801a7301f1 Nitesh Shetty 2022-02-07 262
12a9801a7301f1 Nitesh Shetty 2022-02-07 263 /* Wait for completion of all IO's*/
12a9801a7301f1 Nitesh Shetty 2022-02-07 264 return cio_await_completion(cio);
12a9801a7301f1 Nitesh Shetty 2022-02-07 265
12a9801a7301f1 Nitesh Shetty 2022-02-07 266 err_read_bio:
12a9801a7301f1 Nitesh Shetty 2022-02-07 267 __free_page(token);
12a9801a7301f1 Nitesh Shetty 2022-02-07 268 err_token:
12a9801a7301f1 Nitesh Shetty 2022-02-07 269 rlist[ri].comp_len = min_t(sector_t, rlist[ri].comp_len, (rlist[ri].len - remaining));
12a9801a7301f1 Nitesh Shetty 2022-02-07 270
12a9801a7301f1 Nitesh Shetty 2022-02-07 271 cio->io_err = ret;
12a9801a7301f1 Nitesh Shetty 2022-02-07 @272 return cio_await_completion(cio);
12a9801a7301f1 Nitesh Shetty 2022-02-07 273 }
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
--
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: kbuild@lists.01.org
Subject: Re: [PATCH v2 03/10] block: Add copy offload support infrastructure
Date: Wed, 09 Feb 2022 07:31:03 +0800 [thread overview]
Message-ID: <202202090703.U5riBMIn-lkp@intel.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 9491 bytes --]
CC: kbuild-all(a)lists.01.org
In-Reply-To: <20220207141348.4235-4-nj.shetty@samsung.com>
References: <20220207141348.4235-4-nj.shetty@samsung.com>
TO: Nitesh Shetty <nj.shetty@samsung.com>
TO: mpatocka(a)redhat.com
CC: javier(a)javigon.com
CC: chaitanyak(a)nvidia.com
CC: linux-block(a)vger.kernel.org
CC: linux-scsi(a)vger.kernel.org
CC: dm-devel(a)redhat.com
CC: linux-nvme(a)lists.infradead.org
CC: linux-fsdevel(a)vger.kernel.org
CC: axboe(a)kernel.dk
CC: msnitzer(a)redhat.com
CC: bvanassche(a)acm.org
CC: martin.petersen(a)oracle.com
CC: roland(a)purestorage.com
CC: hare(a)suse.de
CC: kbusch(a)kernel.org
CC: hch(a)lst.de
CC: Frederick.Knight(a)netapp.com
CC: zach.brown(a)ni.com
CC: osandov(a)fb.com
CC: lsf-pc(a)lists.linux-foundation.org
CC: djwong(a)kernel.org
CC: josef(a)toxicpanda.com
CC: clm(a)fb.com
CC: dsterba(a)suse.com
CC: tytso(a)mit.edu
CC: jack(a)suse.com
CC: joshi.k(a)samsung.com
CC: arnav.dawn(a)samsung.com
CC: nj.shetty(a)samsung.com
CC: SelvaKumar S <selvakuma.s1@samsung.com>
Hi Nitesh,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on axboe-block/for-next]
[also build test WARNING on next-20220208]
[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/Nitesh-Shetty/block-make-bio_map_kern-non-static/20220207-231407
base: https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git for-next
:::::: branch date: 32 hours ago
:::::: commit date: 32 hours ago
config: i386-randconfig-m021-20220207 (https://download.01.org/0day-ci/archive/20220209/202202090703.U5riBMIn-lkp(a)intel.com/config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
smatch warnings:
block/blk-lib.c:272 blk_copy_offload() warn: possible memory leak of 'ctx'
vim +/ctx +272 block/blk-lib.c
12a9801a7301f1 Nitesh Shetty 2022-02-07 180
12a9801a7301f1 Nitesh Shetty 2022-02-07 181 /*
12a9801a7301f1 Nitesh Shetty 2022-02-07 182 * blk_copy_offload - Use device's native copy offload feature
12a9801a7301f1 Nitesh Shetty 2022-02-07 183 * Go through user provide payload, prepare new payload based on device's copy offload limits.
12a9801a7301f1 Nitesh Shetty 2022-02-07 184 */
12a9801a7301f1 Nitesh Shetty 2022-02-07 185 int blk_copy_offload(struct block_device *src_bdev, int nr_srcs,
12a9801a7301f1 Nitesh Shetty 2022-02-07 186 struct range_entry *rlist, struct block_device *dst_bdev, gfp_t gfp_mask)
12a9801a7301f1 Nitesh Shetty 2022-02-07 187 {
12a9801a7301f1 Nitesh Shetty 2022-02-07 188 struct request_queue *sq = bdev_get_queue(src_bdev);
12a9801a7301f1 Nitesh Shetty 2022-02-07 189 struct request_queue *dq = bdev_get_queue(dst_bdev);
12a9801a7301f1 Nitesh Shetty 2022-02-07 190 struct bio *read_bio, *write_bio;
12a9801a7301f1 Nitesh Shetty 2022-02-07 191 struct copy_ctx *ctx;
12a9801a7301f1 Nitesh Shetty 2022-02-07 192 struct cio *cio;
12a9801a7301f1 Nitesh Shetty 2022-02-07 193 struct page *token;
12a9801a7301f1 Nitesh Shetty 2022-02-07 194 sector_t src_blk, copy_len, dst_blk;
12a9801a7301f1 Nitesh Shetty 2022-02-07 195 sector_t remaining, max_copy_len = LONG_MAX;
12a9801a7301f1 Nitesh Shetty 2022-02-07 196 int ri = 0, ret = 0;
12a9801a7301f1 Nitesh Shetty 2022-02-07 197
12a9801a7301f1 Nitesh Shetty 2022-02-07 198 cio = kzalloc(sizeof(struct cio), GFP_KERNEL);
12a9801a7301f1 Nitesh Shetty 2022-02-07 199 if (!cio)
12a9801a7301f1 Nitesh Shetty 2022-02-07 200 return -ENOMEM;
12a9801a7301f1 Nitesh Shetty 2022-02-07 201 atomic_set(&cio->refcount, 0);
12a9801a7301f1 Nitesh Shetty 2022-02-07 202 cio->rlist = rlist;
12a9801a7301f1 Nitesh Shetty 2022-02-07 203
12a9801a7301f1 Nitesh Shetty 2022-02-07 204 max_copy_len = min3(max_copy_len, (sector_t)sq->limits.max_copy_sectors,
12a9801a7301f1 Nitesh Shetty 2022-02-07 205 (sector_t)dq->limits.max_copy_sectors);
12a9801a7301f1 Nitesh Shetty 2022-02-07 206 max_copy_len = min3(max_copy_len, (sector_t)sq->limits.max_copy_range_sectors,
12a9801a7301f1 Nitesh Shetty 2022-02-07 207 (sector_t)dq->limits.max_copy_range_sectors) << SECTOR_SHIFT;
12a9801a7301f1 Nitesh Shetty 2022-02-07 208
12a9801a7301f1 Nitesh Shetty 2022-02-07 209 for (ri = 0; ri < nr_srcs; ri++) {
12a9801a7301f1 Nitesh Shetty 2022-02-07 210 cio->rlist[ri].comp_len = rlist[ri].len;
12a9801a7301f1 Nitesh Shetty 2022-02-07 211 for (remaining = rlist[ri].len, src_blk = rlist[ri].src, dst_blk = rlist[ri].dst;
12a9801a7301f1 Nitesh Shetty 2022-02-07 212 remaining > 0;
12a9801a7301f1 Nitesh Shetty 2022-02-07 213 remaining -= copy_len, src_blk += copy_len, dst_blk += copy_len) {
12a9801a7301f1 Nitesh Shetty 2022-02-07 214 copy_len = min(remaining, max_copy_len);
12a9801a7301f1 Nitesh Shetty 2022-02-07 215
12a9801a7301f1 Nitesh Shetty 2022-02-07 216 token = alloc_page(gfp_mask);
12a9801a7301f1 Nitesh Shetty 2022-02-07 217 if (unlikely(!token)) {
12a9801a7301f1 Nitesh Shetty 2022-02-07 218 ret = -ENOMEM;
12a9801a7301f1 Nitesh Shetty 2022-02-07 219 goto err_token;
12a9801a7301f1 Nitesh Shetty 2022-02-07 220 }
12a9801a7301f1 Nitesh Shetty 2022-02-07 221
12a9801a7301f1 Nitesh Shetty 2022-02-07 222 read_bio = bio_alloc(src_bdev, 1, REQ_OP_READ | REQ_COPY | REQ_NOMERGE,
12a9801a7301f1 Nitesh Shetty 2022-02-07 223 gfp_mask);
12a9801a7301f1 Nitesh Shetty 2022-02-07 224 if (!read_bio) {
12a9801a7301f1 Nitesh Shetty 2022-02-07 225 ret = -ENOMEM;
12a9801a7301f1 Nitesh Shetty 2022-02-07 226 goto err_read_bio;
12a9801a7301f1 Nitesh Shetty 2022-02-07 227 }
12a9801a7301f1 Nitesh Shetty 2022-02-07 228 read_bio->bi_iter.bi_sector = src_blk >> SECTOR_SHIFT;
12a9801a7301f1 Nitesh Shetty 2022-02-07 229 read_bio->bi_iter.bi_size = copy_len;
12a9801a7301f1 Nitesh Shetty 2022-02-07 230 __bio_add_page(read_bio, token, PAGE_SIZE, 0);
12a9801a7301f1 Nitesh Shetty 2022-02-07 231 ret = submit_bio_wait(read_bio);
12a9801a7301f1 Nitesh Shetty 2022-02-07 232 if (ret) {
12a9801a7301f1 Nitesh Shetty 2022-02-07 233 bio_put(read_bio);
12a9801a7301f1 Nitesh Shetty 2022-02-07 234 goto err_read_bio;
12a9801a7301f1 Nitesh Shetty 2022-02-07 235 }
12a9801a7301f1 Nitesh Shetty 2022-02-07 236 bio_put(read_bio);
12a9801a7301f1 Nitesh Shetty 2022-02-07 237 ctx = kzalloc(sizeof(struct copy_ctx), gfp_mask);
12a9801a7301f1 Nitesh Shetty 2022-02-07 238 if (!ctx) {
12a9801a7301f1 Nitesh Shetty 2022-02-07 239 ret = -ENOMEM;
12a9801a7301f1 Nitesh Shetty 2022-02-07 240 goto err_read_bio;
12a9801a7301f1 Nitesh Shetty 2022-02-07 241 }
12a9801a7301f1 Nitesh Shetty 2022-02-07 242 ctx->cio = cio;
12a9801a7301f1 Nitesh Shetty 2022-02-07 243 ctx->range_idx = ri;
12a9801a7301f1 Nitesh Shetty 2022-02-07 244 ctx->start_sec = rlist[ri].src;
12a9801a7301f1 Nitesh Shetty 2022-02-07 245
12a9801a7301f1 Nitesh Shetty 2022-02-07 246 write_bio = bio_alloc(dst_bdev, 1, REQ_OP_WRITE | REQ_COPY | REQ_NOMERGE,
12a9801a7301f1 Nitesh Shetty 2022-02-07 247 gfp_mask);
12a9801a7301f1 Nitesh Shetty 2022-02-07 248 if (!write_bio) {
12a9801a7301f1 Nitesh Shetty 2022-02-07 249 ret = -ENOMEM;
12a9801a7301f1 Nitesh Shetty 2022-02-07 250 goto err_read_bio;
12a9801a7301f1 Nitesh Shetty 2022-02-07 251 }
12a9801a7301f1 Nitesh Shetty 2022-02-07 252
12a9801a7301f1 Nitesh Shetty 2022-02-07 253 write_bio->bi_iter.bi_sector = dst_blk >> SECTOR_SHIFT;
12a9801a7301f1 Nitesh Shetty 2022-02-07 254 write_bio->bi_iter.bi_size = copy_len;
12a9801a7301f1 Nitesh Shetty 2022-02-07 255 __bio_add_page(write_bio, token, PAGE_SIZE, 0);
12a9801a7301f1 Nitesh Shetty 2022-02-07 256 write_bio->bi_end_io = bio_copy_end_io;
12a9801a7301f1 Nitesh Shetty 2022-02-07 257 write_bio->bi_private = ctx;
12a9801a7301f1 Nitesh Shetty 2022-02-07 258 atomic_inc(&cio->refcount);
12a9801a7301f1 Nitesh Shetty 2022-02-07 259 submit_bio(write_bio);
12a9801a7301f1 Nitesh Shetty 2022-02-07 260 }
12a9801a7301f1 Nitesh Shetty 2022-02-07 261 }
12a9801a7301f1 Nitesh Shetty 2022-02-07 262
12a9801a7301f1 Nitesh Shetty 2022-02-07 263 /* Wait for completion of all IO's*/
12a9801a7301f1 Nitesh Shetty 2022-02-07 264 return cio_await_completion(cio);
12a9801a7301f1 Nitesh Shetty 2022-02-07 265
12a9801a7301f1 Nitesh Shetty 2022-02-07 266 err_read_bio:
12a9801a7301f1 Nitesh Shetty 2022-02-07 267 __free_page(token);
12a9801a7301f1 Nitesh Shetty 2022-02-07 268 err_token:
12a9801a7301f1 Nitesh Shetty 2022-02-07 269 rlist[ri].comp_len = min_t(sector_t, rlist[ri].comp_len, (rlist[ri].len - remaining));
12a9801a7301f1 Nitesh Shetty 2022-02-07 270
12a9801a7301f1 Nitesh Shetty 2022-02-07 271 cio->io_err = ret;
12a9801a7301f1 Nitesh Shetty 2022-02-07 @272 return cio_await_completion(cio);
12a9801a7301f1 Nitesh Shetty 2022-02-07 273 }
12a9801a7301f1 Nitesh Shetty 2022-02-07 274
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
WARNING: multiple messages have this Message-ID (diff)
From: Dan Carpenter <dan.carpenter@oracle.com>
To: kbuild-all@lists.01.org
Subject: Re: [PATCH v2 03/10] block: Add copy offload support infrastructure
Date: Wed, 09 Feb 2022 10:48:44 +0300 [thread overview]
Message-ID: <202202090703.U5riBMIn-lkp@intel.com> (raw)
In-Reply-To: <20220207141348.4235-4-nj.shetty@samsung.com>
[-- Attachment #1: Type: text/plain, Size: 7635 bytes --]
Hi Nitesh,
url: https://github.com/0day-ci/linux/commits/Nitesh-Shetty/block-make-bio_map_kern-non-static/20220207-231407
base: https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git for-next
config: i386-randconfig-m021-20220207 (https://download.01.org/0day-ci/archive/20220209/202202090703.U5riBMIn-lkp(a)intel.com/config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
smatch warnings:
block/blk-lib.c:272 blk_copy_offload() warn: possible memory leak of 'ctx'
vim +/ctx +272 block/blk-lib.c
12a9801a7301f1 Nitesh Shetty 2022-02-07 185 int blk_copy_offload(struct block_device *src_bdev, int nr_srcs,
12a9801a7301f1 Nitesh Shetty 2022-02-07 186 struct range_entry *rlist, struct block_device *dst_bdev, gfp_t gfp_mask)
12a9801a7301f1 Nitesh Shetty 2022-02-07 187 {
12a9801a7301f1 Nitesh Shetty 2022-02-07 188 struct request_queue *sq = bdev_get_queue(src_bdev);
12a9801a7301f1 Nitesh Shetty 2022-02-07 189 struct request_queue *dq = bdev_get_queue(dst_bdev);
12a9801a7301f1 Nitesh Shetty 2022-02-07 190 struct bio *read_bio, *write_bio;
12a9801a7301f1 Nitesh Shetty 2022-02-07 191 struct copy_ctx *ctx;
12a9801a7301f1 Nitesh Shetty 2022-02-07 192 struct cio *cio;
12a9801a7301f1 Nitesh Shetty 2022-02-07 193 struct page *token;
12a9801a7301f1 Nitesh Shetty 2022-02-07 194 sector_t src_blk, copy_len, dst_blk;
12a9801a7301f1 Nitesh Shetty 2022-02-07 195 sector_t remaining, max_copy_len = LONG_MAX;
12a9801a7301f1 Nitesh Shetty 2022-02-07 196 int ri = 0, ret = 0;
12a9801a7301f1 Nitesh Shetty 2022-02-07 197
12a9801a7301f1 Nitesh Shetty 2022-02-07 198 cio = kzalloc(sizeof(struct cio), GFP_KERNEL);
12a9801a7301f1 Nitesh Shetty 2022-02-07 199 if (!cio)
12a9801a7301f1 Nitesh Shetty 2022-02-07 200 return -ENOMEM;
12a9801a7301f1 Nitesh Shetty 2022-02-07 201 atomic_set(&cio->refcount, 0);
12a9801a7301f1 Nitesh Shetty 2022-02-07 202 cio->rlist = rlist;
12a9801a7301f1 Nitesh Shetty 2022-02-07 203
12a9801a7301f1 Nitesh Shetty 2022-02-07 204 max_copy_len = min3(max_copy_len, (sector_t)sq->limits.max_copy_sectors,
12a9801a7301f1 Nitesh Shetty 2022-02-07 205 (sector_t)dq->limits.max_copy_sectors);
12a9801a7301f1 Nitesh Shetty 2022-02-07 206 max_copy_len = min3(max_copy_len, (sector_t)sq->limits.max_copy_range_sectors,
12a9801a7301f1 Nitesh Shetty 2022-02-07 207 (sector_t)dq->limits.max_copy_range_sectors) << SECTOR_SHIFT;
12a9801a7301f1 Nitesh Shetty 2022-02-07 208
12a9801a7301f1 Nitesh Shetty 2022-02-07 209 for (ri = 0; ri < nr_srcs; ri++) {
12a9801a7301f1 Nitesh Shetty 2022-02-07 210 cio->rlist[ri].comp_len = rlist[ri].len;
12a9801a7301f1 Nitesh Shetty 2022-02-07 211 for (remaining = rlist[ri].len, src_blk = rlist[ri].src, dst_blk = rlist[ri].dst;
12a9801a7301f1 Nitesh Shetty 2022-02-07 212 remaining > 0;
12a9801a7301f1 Nitesh Shetty 2022-02-07 213 remaining -= copy_len, src_blk += copy_len, dst_blk += copy_len) {
12a9801a7301f1 Nitesh Shetty 2022-02-07 214 copy_len = min(remaining, max_copy_len);
12a9801a7301f1 Nitesh Shetty 2022-02-07 215
12a9801a7301f1 Nitesh Shetty 2022-02-07 216 token = alloc_page(gfp_mask);
12a9801a7301f1 Nitesh Shetty 2022-02-07 217 if (unlikely(!token)) {
12a9801a7301f1 Nitesh Shetty 2022-02-07 218 ret = -ENOMEM;
12a9801a7301f1 Nitesh Shetty 2022-02-07 219 goto err_token;
12a9801a7301f1 Nitesh Shetty 2022-02-07 220 }
12a9801a7301f1 Nitesh Shetty 2022-02-07 221
12a9801a7301f1 Nitesh Shetty 2022-02-07 222 read_bio = bio_alloc(src_bdev, 1, REQ_OP_READ | REQ_COPY | REQ_NOMERGE,
12a9801a7301f1 Nitesh Shetty 2022-02-07 223 gfp_mask);
12a9801a7301f1 Nitesh Shetty 2022-02-07 224 if (!read_bio) {
12a9801a7301f1 Nitesh Shetty 2022-02-07 225 ret = -ENOMEM;
12a9801a7301f1 Nitesh Shetty 2022-02-07 226 goto err_read_bio;
12a9801a7301f1 Nitesh Shetty 2022-02-07 227 }
12a9801a7301f1 Nitesh Shetty 2022-02-07 228 read_bio->bi_iter.bi_sector = src_blk >> SECTOR_SHIFT;
12a9801a7301f1 Nitesh Shetty 2022-02-07 229 read_bio->bi_iter.bi_size = copy_len;
12a9801a7301f1 Nitesh Shetty 2022-02-07 230 __bio_add_page(read_bio, token, PAGE_SIZE, 0);
12a9801a7301f1 Nitesh Shetty 2022-02-07 231 ret = submit_bio_wait(read_bio);
12a9801a7301f1 Nitesh Shetty 2022-02-07 232 if (ret) {
12a9801a7301f1 Nitesh Shetty 2022-02-07 233 bio_put(read_bio);
12a9801a7301f1 Nitesh Shetty 2022-02-07 234 goto err_read_bio;
12a9801a7301f1 Nitesh Shetty 2022-02-07 235 }
12a9801a7301f1 Nitesh Shetty 2022-02-07 236 bio_put(read_bio);
12a9801a7301f1 Nitesh Shetty 2022-02-07 237 ctx = kzalloc(sizeof(struct copy_ctx), gfp_mask);
12a9801a7301f1 Nitesh Shetty 2022-02-07 238 if (!ctx) {
12a9801a7301f1 Nitesh Shetty 2022-02-07 239 ret = -ENOMEM;
12a9801a7301f1 Nitesh Shetty 2022-02-07 240 goto err_read_bio;
12a9801a7301f1 Nitesh Shetty 2022-02-07 241 }
12a9801a7301f1 Nitesh Shetty 2022-02-07 242 ctx->cio = cio;
12a9801a7301f1 Nitesh Shetty 2022-02-07 243 ctx->range_idx = ri;
12a9801a7301f1 Nitesh Shetty 2022-02-07 244 ctx->start_sec = rlist[ri].src;
12a9801a7301f1 Nitesh Shetty 2022-02-07 245
12a9801a7301f1 Nitesh Shetty 2022-02-07 246 write_bio = bio_alloc(dst_bdev, 1, REQ_OP_WRITE | REQ_COPY | REQ_NOMERGE,
12a9801a7301f1 Nitesh Shetty 2022-02-07 247 gfp_mask);
12a9801a7301f1 Nitesh Shetty 2022-02-07 248 if (!write_bio) {
Please call kfree(ctx) before the goto.
12a9801a7301f1 Nitesh Shetty 2022-02-07 249 ret = -ENOMEM;
12a9801a7301f1 Nitesh Shetty 2022-02-07 250 goto err_read_bio;
12a9801a7301f1 Nitesh Shetty 2022-02-07 251 }
12a9801a7301f1 Nitesh Shetty 2022-02-07 252
12a9801a7301f1 Nitesh Shetty 2022-02-07 253 write_bio->bi_iter.bi_sector = dst_blk >> SECTOR_SHIFT;
12a9801a7301f1 Nitesh Shetty 2022-02-07 254 write_bio->bi_iter.bi_size = copy_len;
12a9801a7301f1 Nitesh Shetty 2022-02-07 255 __bio_add_page(write_bio, token, PAGE_SIZE, 0);
12a9801a7301f1 Nitesh Shetty 2022-02-07 256 write_bio->bi_end_io = bio_copy_end_io;
12a9801a7301f1 Nitesh Shetty 2022-02-07 257 write_bio->bi_private = ctx;
12a9801a7301f1 Nitesh Shetty 2022-02-07 258 atomic_inc(&cio->refcount);
12a9801a7301f1 Nitesh Shetty 2022-02-07 259 submit_bio(write_bio);
12a9801a7301f1 Nitesh Shetty 2022-02-07 260 }
12a9801a7301f1 Nitesh Shetty 2022-02-07 261 }
12a9801a7301f1 Nitesh Shetty 2022-02-07 262
12a9801a7301f1 Nitesh Shetty 2022-02-07 263 /* Wait for completion of all IO's*/
12a9801a7301f1 Nitesh Shetty 2022-02-07 264 return cio_await_completion(cio);
12a9801a7301f1 Nitesh Shetty 2022-02-07 265
12a9801a7301f1 Nitesh Shetty 2022-02-07 266 err_read_bio:
12a9801a7301f1 Nitesh Shetty 2022-02-07 267 __free_page(token);
12a9801a7301f1 Nitesh Shetty 2022-02-07 268 err_token:
12a9801a7301f1 Nitesh Shetty 2022-02-07 269 rlist[ri].comp_len = min_t(sector_t, rlist[ri].comp_len, (rlist[ri].len - remaining));
12a9801a7301f1 Nitesh Shetty 2022-02-07 270
12a9801a7301f1 Nitesh Shetty 2022-02-07 271 cio->io_err = ret;
12a9801a7301f1 Nitesh Shetty 2022-02-07 @272 return cio_await_completion(cio);
12a9801a7301f1 Nitesh Shetty 2022-02-07 273 }
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
next parent reply other threads:[~2022-02-09 7:50 UTC|newest]
Thread overview: 184+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CGME20220209075901epcas5p3cff468deadd8ef836522f032bd4ed36c@epcas5p3.samsung.com>
2022-02-08 23:31 ` kernel test robot [this message]
2022-02-09 7:48 ` [PATCH v2 03/10] block: Add copy offload support infrastructure 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
-- strict thread matches above, loose matches on Subject: below --
2022-02-10 4:55 [PATCH v2 03/10] block: Add copy offload support infrastructure kernel test robot
[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 ` 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 ` 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 ` 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 ` Bart Van Assche
2022-02-04 12:09 ` [dm-devel] " Mikulas Patocka
2022-02-04 12:09 ` 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 ` Luis Chamberlain
2022-02-03 16:15 ` [dm-devel] " Christoph Hellwig
2022-02-03 16:15 ` 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 ` 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 ` 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 ` 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 ` 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 ` kernel test robot
[not found] ` <CGME20220207141948epcas5p4534f6bdc5a1e2e676d7d09c04f8b4a5b@epcas5p4.samsung.com>
2022-02-07 14:13 ` [PATCH v2 08/10] dm: Add support for copy offload Nitesh Shetty
2022-02-07 14:13 ` [dm-devel] " Nitesh Shetty
2022-02-16 13:51 ` Mikulas Patocka
2022-02-16 13:51 ` 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 ` [dm-devel] " Nikos Tsironis
2022-03-03 18:36 ` 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 ` Mikulas Patocka
2022-03-09 15:49 ` Nikos Tsironis
2022-03-09 15:49 ` [dm-devel] " Nikos Tsironis
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=202202090703.U5riBMIn-lkp@intel.com \
--to=dan.carpenter@oracle.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=kbuild-all@lists.01.org \
--cc=kbuild@lists.01.org \
--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=lkp@intel.com \
--cc=lsf-pc@lists.linux-foundation.org \
--cc=martin.petersen@oracle.com \
--cc=mpatocka@redhat.com \
--cc=msnitzer@redhat.com \
--cc=nj.shetty@samsung.com \
--cc=osandov@fb.com \
--cc=roland@purestorage.com \
--cc=selvakuma.s1@samsung.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: 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.