All of lore.kernel.org
 help / color / mirror / Atom feed
From: Matthew Wilcox <willy@infradead.org>
To: Chaitanya Kulkarni <chaitanya.kulkarni@wdc.com>
Cc: linux-block@vger.kernel.org, linux-scsi@vger.kernel.org,
	target-devel@vger.kernel.org, linux-btrfs@vger.kernel.org,
	axboe@kernel.dk, mb@lightnvm.io, martin.petersen@oracle.com,
	clm@fb.com, josef@toxicpanda.com, dsterba@suse.com,
	johannes.thumshirn@wdc.com, ming.lei@redhat.com, osandov@fb.com,
	jefflexu@linux.alibaba.com, hch@lst.de
Subject: Re: [RFC PATCH 0/8] block: fix bio_add_XXX_page() return type
Date: Fri, 21 May 2021 12:30:45 +0100	[thread overview]
Message-ID: <YKeZ5dtxt3gsImsd@casper.infradead.org> (raw)
In-Reply-To: <20210520062255.4908-1-chaitanya.kulkarni@wdc.com>

On Wed, May 19, 2021 at 11:22:47PM -0700, Chaitanya Kulkarni wrote:
> The helper functions bio_add_XXX_page() returns the length which is
> unsigned int but the return type of those functions is defined
> as int instead of unsigned int.

I've been thinking about this for a few weeks as part of the folio
patches:

https://lore.kernel.org/linux-fsdevel/20210505150628.111735-72-willy@infradead.org/

 - len and off are measured in bytes
 - neither are permitted to be negative
 - for efficiency we only permit them to be up to 4GB

I therefore believe the correct type for these parameters to be size_t,
and we should range-check them if they're too large.  they should
actually always fit within the page that they're associated with, but
people do allocate non-compound pages and i'm not trying to break that
today.

using size_t makes it clear that these are byte counts, not (eg) sector
counts.  i do think it's good to make the return value unsigned so we
don't have people expecting a negative errno on failure.

  parent reply	other threads:[~2021-05-21 11:32 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-20  6:22 [RFC PATCH 0/8] block: fix bio_add_XXX_page() return type Chaitanya Kulkarni
2021-05-20  6:22 ` [RFC PATCH 1/8] block: fix return type of bio_add_hw_page() Chaitanya Kulkarni
2021-05-20  6:22 ` [RFC PATCH 2/8] block: fix return type of bio_add_pc_page() Chaitanya Kulkarni
2021-05-20  6:22 ` [RFC PATCH 3/8] block: fix return type of bio_add_zone_append_page Chaitanya Kulkarni
2021-05-20  6:22 ` [RFC PATCH 4/8] block: fix return type of bio_add_page() Chaitanya Kulkarni
2021-05-20  6:22 ` [RFC PATCH 5/8] lightnvm: fix variable type pblk-core Chaitanya Kulkarni
2021-05-20  6:22 ` [RFC PATCH 6/8] pscsi: fix variable type pscsi_map_sg Chaitanya Kulkarni
2021-05-20  6:22 ` [RFC PATCH 7/8] btrfs: fix variable type in btrfs_bio_add_page Chaitanya Kulkarni
2021-05-20  6:22 ` [RFC PATCH 8/8] block: fix variable type for zero pages Chaitanya Kulkarni
2021-05-21 10:25 ` [RFC PATCH 0/8] block: fix bio_add_XXX_page() return type Johannes Thumshirn
2021-05-21 21:37   ` Chaitanya Kulkarni
2021-05-21 22:37     ` Omar Sandoval
2021-05-21 23:25       ` Chaitanya Kulkarni
2021-05-21 11:30 ` Matthew Wilcox [this message]
2021-05-21 21:51   ` Chaitanya Kulkarni
2021-05-24  7:35   ` Christoph Hellwig
2021-05-24 13:29     ` Matthew Wilcox
2021-05-26  2:55     ` Chaitanya Kulkarni
2021-05-27 11:43       ` Christoph Hellwig
2021-05-27 17:43         ` Chaitanya Kulkarni

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=YKeZ5dtxt3gsImsd@casper.infradead.org \
    --to=willy@infradead.org \
    --cc=axboe@kernel.dk \
    --cc=chaitanya.kulkarni@wdc.com \
    --cc=clm@fb.com \
    --cc=dsterba@suse.com \
    --cc=hch@lst.de \
    --cc=jefflexu@linux.alibaba.com \
    --cc=johannes.thumshirn@wdc.com \
    --cc=josef@toxicpanda.com \
    --cc=linux-block@vger.kernel.org \
    --cc=linux-btrfs@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=martin.petersen@oracle.com \
    --cc=mb@lightnvm.io \
    --cc=ming.lei@redhat.com \
    --cc=osandov@fb.com \
    --cc=target-devel@vger.kernel.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.