diff options
author | Tejun Heo <tj@kernel.org> | 2010-11-13 05:55:18 -0500 |
---|---|---|
committer | Tejun Heo <tj@kernel.org> | 2010-11-13 05:55:18 -0500 |
commit | d4d77629953eabd3c14f6fa5746f6b28babfc55f (patch) | |
tree | 38cce0d4764ecb34a9f7f49332959780e28bb786 /fs/reiserfs/journal.c | |
parent | 75f1dc0d076d1c1168f2115f1941ea627d38bd5a (diff) |
block: clean up blkdev_get() wrappers and their users
After recent blkdev_get() modifications, open_by_devnum() and
open_bdev_exclusive() are simple wrappers around blkdev_get().
Replace them with blkdev_get_by_dev() and blkdev_get_by_path().
blkdev_get_by_dev() is identical to open_by_devnum().
blkdev_get_by_path() is slightly different in that it doesn't
automatically add %FMODE_EXCL to @mode.
All users are converted. Most conversions are mechanical and don't
introduce any behavior difference. There are several exceptions.
* btrfs now sets FMODE_EXCL in btrfs_device->mode, so there's no
reason to OR it explicitly on blkdev_put().
* gfs2, nilfs2 and the generic mount_bdev() now set FMODE_EXCL in
sb->s_mode.
* With the above changes, sb->s_mode now always should contain
FMODE_EXCL. WARN_ON_ONCE() added to kill_block_super() to detect
errors.
The new blkdev_get_*() functions are with proper docbook comments.
While at it, add function description to blkdev_get() too.
Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: Philipp Reisner <philipp.reisner@linbit.com>
Cc: Neil Brown <neilb@suse.de>
Cc: Mike Snitzer <snitzer@redhat.com>
Cc: Joern Engel <joern@lazybastard.org>
Cc: Chris Mason <chris.mason@oracle.com>
Cc: Jan Kara <jack@suse.cz>
Cc: "Theodore Ts'o" <tytso@mit.edu>
Cc: KONISHI Ryusuke <konishi.ryusuke@lab.ntt.co.jp>
Cc: reiserfs-devel@vger.kernel.org
Cc: xfs-masters@oss.sgi.com
Cc: Alexander Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/reiserfs/journal.c')
-rw-r--r-- | fs/reiserfs/journal.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/fs/reiserfs/journal.c b/fs/reiserfs/journal.c index b488136f5ace..e2fce519c0f2 100644 --- a/fs/reiserfs/journal.c +++ b/fs/reiserfs/journal.c | |||
@@ -2585,7 +2585,8 @@ static int journal_init_dev(struct super_block *super, | |||
2585 | if ((!jdev_name || !jdev_name[0])) { | 2585 | if ((!jdev_name || !jdev_name[0])) { |
2586 | if (jdev == super->s_dev) | 2586 | if (jdev == super->s_dev) |
2587 | blkdev_mode &= ~FMODE_EXCL; | 2587 | blkdev_mode &= ~FMODE_EXCL; |
2588 | journal->j_dev_bd = open_by_devnum(jdev, blkdev_mode, journal); | 2588 | journal->j_dev_bd = blkdev_get_by_dev(jdev, blkdev_mode, |
2589 | journal); | ||
2589 | journal->j_dev_mode = blkdev_mode; | 2590 | journal->j_dev_mode = blkdev_mode; |
2590 | if (IS_ERR(journal->j_dev_bd)) { | 2591 | if (IS_ERR(journal->j_dev_bd)) { |
2591 | result = PTR_ERR(journal->j_dev_bd); | 2592 | result = PTR_ERR(journal->j_dev_bd); |
@@ -2601,8 +2602,7 @@ static int journal_init_dev(struct super_block *super, | |||
2601 | } | 2602 | } |
2602 | 2603 | ||
2603 | journal->j_dev_mode = blkdev_mode; | 2604 | journal->j_dev_mode = blkdev_mode; |
2604 | journal->j_dev_bd = open_bdev_exclusive(jdev_name, | 2605 | journal->j_dev_bd = blkdev_get_by_path(jdev_name, blkdev_mode, journal); |
2605 | blkdev_mode, journal); | ||
2606 | if (IS_ERR(journal->j_dev_bd)) { | 2606 | if (IS_ERR(journal->j_dev_bd)) { |
2607 | result = PTR_ERR(journal->j_dev_bd); | 2607 | result = PTR_ERR(journal->j_dev_bd); |
2608 | journal->j_dev_bd = NULL; | 2608 | journal->j_dev_bd = NULL; |