From: Jan Kara <jack@suse.cz>
To: Tejun Heo <tj@kernel.org>
Cc: axboe@kernel.dk, hch@infradead.org, linux-kernel@vger.kernel.org,
petero2@telia.com, schwidefsky@de.ibm.com,
heiko.carstens@de.ibm.com, jack@suse.cz,
akpm@linux-foundation.org, adilger.kernel@dilger.ca,
tytso@mit.edu, mfasheh@suse.com, joel.becker@oracle.com,
aelder@sgi.com, dm-devel@redhat.com, drbd-dev@lists.linbit.com,
neilb@suse.de, leochen@broadcom.com, sbranden@broadcom.com,
chris.mason@oracle.com, swhiteho@redhat.com,
shaggy@linux.vnet.ibm.com, joern@logfs.org,
konishi.ryusuke@lab.ntt.co.jp, reiserfs-devel@vger.kernel.org,
viro@zeniv.linux.org.uk
Subject: Re: [PATCH 4/5] block: make blkdev_get/put() handle exclusive access
Date: Wed, 3 Nov 2010 16:06:58 +0100 [thread overview]
Message-ID: <20101103150658.GA5627@quack.suse.cz> (raw)
In-Reply-To: <1288628129-12811-5-git-send-email-tj@kernel.org>
On Mon 01-11-10 17:15:28, Tejun Heo wrote:
> Over time, block layer has accumulated a set of APIs dealing with bdev
> open, close, claim and release.
>
> * blkdev_get/put() are the primary open and close functions.
>
> * bd_claim/release() deal with exclusive open.
>
> * open/close_bdev_exclusive() are combination of open and claim and
> the other way around, respectively.
>
> * bd_link/unlink_disk_holder() to create and remove holder/slave
> symlinks.
>
> * open_by_devnum() wraps bdget() + blkdev_get().
>
> The interface is a bit confusing and the decoupling of open and claim
> makes it impossible to properly guarantee exclusive access as
> in-kernel open + claim sequence can disturb the existing exclusive
> open even before the block layer knows the current open if for another
> exclusive access. Reorganize the interface such that,
...
The patch looks OK to me as far as ext3, ext4, and reiserfs are
concerned. One thing I wondered about when I looked at it - does someone
use the 'mode' argument of the blkdev_put() function (well, apart from the
exclusive flag)? Because I've looked at a few random disk ->release()
functions and none of them used it...
Honza
--
Jan Kara <jack@suse.cz>
SUSE Labs, CR
next prev parent reply other threads:[~2010-11-03 15:06 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-11-01 16:15 [PATCHSET] block: clean up bdev claim/release handling Tejun Heo
2010-11-01 16:15 ` [PATCH 1/5] mtd: fix bdev exclusive open bugs in block2mtd::add_device() Tejun Heo
2010-11-01 16:15 ` [PATCH 2/5] btrfs: close_bdev_exclusive() should use the same @flags as the matching open_bdev_exclusive() Tejun Heo
2010-11-01 16:15 ` [PATCH 3/5] block: simplify holder symlink handling Tejun Heo
2010-11-01 16:15 ` [PATCH 4/5] block: make blkdev_get/put() handle exclusive access Tejun Heo
2010-11-03 15:06 ` Jan Kara [this message]
2010-11-09 10:18 ` Tejun Heo
2010-11-03 16:10 ` Christoph Hellwig
2010-11-04 15:04 ` Mike Snitzer
2010-11-09 10:34 ` Tejun Heo
2010-11-09 10:36 ` Christoph Hellwig
2010-11-01 16:15 ` [PATCH 5/5] block: reorganize claim/release implementation Tejun Heo
2010-11-01 19:49 ` [PATCHSET] block: clean up bdev claim/release handling Neil Brown
2010-11-03 15:53 ` [Drbd-dev] " Philipp Reisner
[not found] ` <1288628129-12811-4-git-send-email-tj@kernel.org>
2010-11-04 15:06 ` [PATCH 3/5] block: simplify holder symlink handling Mike Snitzer
2010-11-11 17:10 ` [PATCH 6/5] block: check bdev_read_only() from blkdev_get() Tejun Heo
2010-11-11 17:11 ` [PATCH 7/5] block: clean up blkdev_get() wrappers and their users Tejun Heo
2010-11-11 19:19 ` Steven Whitehouse
2010-11-11 17:14 ` [PATCHSET] block: clean up bdev claim/release handling Tejun Heo
2010-11-27 16:01 ` Tejun Heo
2010-11-27 18:47 ` Jens Axboe
[not found] ` <1288628129-12811-2-git-send-email-tj@kernel.org>
2010-11-13 10:38 ` [PATCH 1/5] mtd: fix bdev exclusive open bugs in block2mtd::add_device() Artem Bityutskiy
2010-11-13 10:42 ` Tejun Heo
2010-11-13 11:10 ` Artem Bityutskiy
2010-11-13 10:59 ` [PATCH UPDATED " Tejun Heo
2010-11-13 11:14 ` Artem Bityutskiy
2010-11-13 11:18 ` Tejun Heo
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=20101103150658.GA5627@quack.suse.cz \
--to=jack@suse.cz \
--cc=adilger.kernel@dilger.ca \
--cc=aelder@sgi.com \
--cc=akpm@linux-foundation.org \
--cc=axboe@kernel.dk \
--cc=chris.mason@oracle.com \
--cc=dm-devel@redhat.com \
--cc=drbd-dev@lists.linbit.com \
--cc=hch@infradead.org \
--cc=heiko.carstens@de.ibm.com \
--cc=joel.becker@oracle.com \
--cc=joern@logfs.org \
--cc=konishi.ryusuke@lab.ntt.co.jp \
--cc=leochen@broadcom.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mfasheh@suse.com \
--cc=neilb@suse.de \
--cc=petero2@telia.com \
--cc=reiserfs-devel@vger.kernel.org \
--cc=sbranden@broadcom.com \
--cc=schwidefsky@de.ibm.com \
--cc=shaggy@linux.vnet.ibm.com \
--cc=swhiteho@redhat.com \
--cc=tj@kernel.org \
--cc=tytso@mit.edu \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).