Message ID | 20240123-vfs-bdev-file-v2-26-adbd023e19cc@kernel.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Open block devices as files | expand |
On Tue 23-01-24 14:26:43, Christian Brauner wrote: > Signed-off-by: Christian Brauner <brauner@kernel.org> Looks good. Feel free to add: Reviewed-by: Jan Kara <jack@suse.cz> Honza > --- > fs/reiserfs/journal.c | 38 +++++++++++++++++++------------------- > fs/reiserfs/procfs.c | 2 +- > fs/reiserfs/reiserfs.h | 8 ++++---- > 3 files changed, 24 insertions(+), 24 deletions(-) > > diff --git a/fs/reiserfs/journal.c b/fs/reiserfs/journal.c > index 171c912af50f..6474529c4253 100644 > --- a/fs/reiserfs/journal.c > +++ b/fs/reiserfs/journal.c > @@ -2386,7 +2386,7 @@ static int journal_read(struct super_block *sb) > > cur_dblock = SB_ONDISK_JOURNAL_1st_BLOCK(sb); > reiserfs_info(sb, "checking transaction log (%pg)\n", > - journal->j_bdev_handle->bdev); > + file_bdev(journal->j_bdev_file)); > start = ktime_get_seconds(); > > /* > @@ -2447,7 +2447,7 @@ static int journal_read(struct super_block *sb) > * device and journal device to be the same > */ > d_bh = > - reiserfs_breada(journal->j_bdev_handle->bdev, cur_dblock, > + reiserfs_breada(file_bdev(journal->j_bdev_file), cur_dblock, > sb->s_blocksize, > SB_ONDISK_JOURNAL_1st_BLOCK(sb) + > SB_ONDISK_JOURNAL_SIZE(sb)); > @@ -2588,9 +2588,9 @@ static void journal_list_init(struct super_block *sb) > > static void release_journal_dev(struct reiserfs_journal *journal) > { > - if (journal->j_bdev_handle) { > - bdev_release(journal->j_bdev_handle); > - journal->j_bdev_handle = NULL; > + if (journal->j_bdev_file) { > + fput(journal->j_bdev_file); > + journal->j_bdev_file = NULL; > } > } > > @@ -2605,7 +2605,7 @@ static int journal_init_dev(struct super_block *super, > > result = 0; > > - journal->j_bdev_handle = NULL; > + journal->j_bdev_file = NULL; > jdev = SB_ONDISK_JOURNAL_DEVICE(super) ? > new_decode_dev(SB_ONDISK_JOURNAL_DEVICE(super)) : super->s_dev; > > @@ -2616,37 +2616,37 @@ static int journal_init_dev(struct super_block *super, > if ((!jdev_name || !jdev_name[0])) { > if (jdev == super->s_dev) > holder = NULL; > - journal->j_bdev_handle = bdev_open_by_dev(jdev, blkdev_mode, > + journal->j_bdev_file = bdev_file_open_by_dev(jdev, blkdev_mode, > holder, NULL); > - if (IS_ERR(journal->j_bdev_handle)) { > - result = PTR_ERR(journal->j_bdev_handle); > - journal->j_bdev_handle = NULL; > + if (IS_ERR(journal->j_bdev_file)) { > + result = PTR_ERR(journal->j_bdev_file); > + journal->j_bdev_file = NULL; > reiserfs_warning(super, "sh-458", > "cannot init journal device unknown-block(%u,%u): %i", > MAJOR(jdev), MINOR(jdev), result); > return result; > } else if (jdev != super->s_dev) > - set_blocksize(journal->j_bdev_handle->bdev, > + set_blocksize(file_bdev(journal->j_bdev_file), > super->s_blocksize); > > return 0; > } > > - journal->j_bdev_handle = bdev_open_by_path(jdev_name, blkdev_mode, > + journal->j_bdev_file = bdev_file_open_by_path(jdev_name, blkdev_mode, > holder, NULL); > - if (IS_ERR(journal->j_bdev_handle)) { > - result = PTR_ERR(journal->j_bdev_handle); > - journal->j_bdev_handle = NULL; > + if (IS_ERR(journal->j_bdev_file)) { > + result = PTR_ERR(journal->j_bdev_file); > + journal->j_bdev_file = NULL; > reiserfs_warning(super, "sh-457", > "journal_init_dev: Cannot open '%s': %i", > jdev_name, result); > return result; > } > > - set_blocksize(journal->j_bdev_handle->bdev, super->s_blocksize); > + set_blocksize(file_bdev(journal->j_bdev_file), super->s_blocksize); > reiserfs_info(super, > "journal_init_dev: journal device: %pg\n", > - journal->j_bdev_handle->bdev); > + file_bdev(journal->j_bdev_file)); > return 0; > } > > @@ -2804,7 +2804,7 @@ int journal_init(struct super_block *sb, const char *j_dev_name, > "journal header magic %x (device %pg) does " > "not match to magic found in super block %x", > jh->jh_journal.jp_journal_magic, > - journal->j_bdev_handle->bdev, > + file_bdev(journal->j_bdev_file), > sb_jp_journal_magic(rs)); > brelse(bhjh); > goto free_and_return; > @@ -2828,7 +2828,7 @@ int journal_init(struct super_block *sb, const char *j_dev_name, > reiserfs_info(sb, "journal params: device %pg, size %u, " > "journal first block %u, max trans len %u, max batch %u, " > "max commit age %u, max trans age %u\n", > - journal->j_bdev_handle->bdev, > + file_bdev(journal->j_bdev_file), > SB_ONDISK_JOURNAL_SIZE(sb), > SB_ONDISK_JOURNAL_1st_BLOCK(sb), > journal->j_trans_max, > diff --git a/fs/reiserfs/procfs.c b/fs/reiserfs/procfs.c > index 83cb9402e0f9..5c68a4a52d78 100644 > --- a/fs/reiserfs/procfs.c > +++ b/fs/reiserfs/procfs.c > @@ -354,7 +354,7 @@ static int show_journal(struct seq_file *m, void *unused) > "prepare: \t%12lu\n" > "prepare_retry: \t%12lu\n", > DJP(jp_journal_1st_block), > - SB_JOURNAL(sb)->j_bdev_handle->bdev, > + file_bdev(SB_JOURNAL(sb)->j_bdev_file), > DJP(jp_journal_dev), > DJP(jp_journal_size), > DJP(jp_journal_trans_max), > diff --git a/fs/reiserfs/reiserfs.h b/fs/reiserfs/reiserfs.h > index 725667880e62..0554903f42a9 100644 > --- a/fs/reiserfs/reiserfs.h > +++ b/fs/reiserfs/reiserfs.h > @@ -299,7 +299,7 @@ struct reiserfs_journal { > /* oldest journal block. start here for traverse */ > struct reiserfs_journal_cnode *j_first; > > - struct bdev_handle *j_bdev_handle; > + struct file *j_bdev_file; > > /* first block on s_dev of reserved area journal */ > int j_1st_reserved_block; > @@ -2810,10 +2810,10 @@ struct reiserfs_journal_header { > > /* We need these to make journal.c code more readable */ > #define journal_find_get_block(s, block) __find_get_block(\ > - SB_JOURNAL(s)->j_bdev_handle->bdev, block, s->s_blocksize) > -#define journal_getblk(s, block) __getblk(SB_JOURNAL(s)->j_bdev_handle->bdev,\ > + file_bdev(SB_JOURNAL(s)->j_bdev_file), block, s->s_blocksize) > +#define journal_getblk(s, block) __getblk(file_bdev(SB_JOURNAL(s)->j_bdev_file),\ > block, s->s_blocksize) > -#define journal_bread(s, block) __bread(SB_JOURNAL(s)->j_bdev_handle->bdev,\ > +#define journal_bread(s, block) __bread(file_bdev(SB_JOURNAL(s)->j_bdev_file),\ > block, s->s_blocksize) > > enum reiserfs_bh_state_bits { > > -- > 2.43.0 >
diff --git a/fs/reiserfs/journal.c b/fs/reiserfs/journal.c index 171c912af50f..6474529c4253 100644 --- a/fs/reiserfs/journal.c +++ b/fs/reiserfs/journal.c @@ -2386,7 +2386,7 @@ static int journal_read(struct super_block *sb) cur_dblock = SB_ONDISK_JOURNAL_1st_BLOCK(sb); reiserfs_info(sb, "checking transaction log (%pg)\n", - journal->j_bdev_handle->bdev); + file_bdev(journal->j_bdev_file)); start = ktime_get_seconds(); /* @@ -2447,7 +2447,7 @@ static int journal_read(struct super_block *sb) * device and journal device to be the same */ d_bh = - reiserfs_breada(journal->j_bdev_handle->bdev, cur_dblock, + reiserfs_breada(file_bdev(journal->j_bdev_file), cur_dblock, sb->s_blocksize, SB_ONDISK_JOURNAL_1st_BLOCK(sb) + SB_ONDISK_JOURNAL_SIZE(sb)); @@ -2588,9 +2588,9 @@ static void journal_list_init(struct super_block *sb) static void release_journal_dev(struct reiserfs_journal *journal) { - if (journal->j_bdev_handle) { - bdev_release(journal->j_bdev_handle); - journal->j_bdev_handle = NULL; + if (journal->j_bdev_file) { + fput(journal->j_bdev_file); + journal->j_bdev_file = NULL; } } @@ -2605,7 +2605,7 @@ static int journal_init_dev(struct super_block *super, result = 0; - journal->j_bdev_handle = NULL; + journal->j_bdev_file = NULL; jdev = SB_ONDISK_JOURNAL_DEVICE(super) ? new_decode_dev(SB_ONDISK_JOURNAL_DEVICE(super)) : super->s_dev; @@ -2616,37 +2616,37 @@ static int journal_init_dev(struct super_block *super, if ((!jdev_name || !jdev_name[0])) { if (jdev == super->s_dev) holder = NULL; - journal->j_bdev_handle = bdev_open_by_dev(jdev, blkdev_mode, + journal->j_bdev_file = bdev_file_open_by_dev(jdev, blkdev_mode, holder, NULL); - if (IS_ERR(journal->j_bdev_handle)) { - result = PTR_ERR(journal->j_bdev_handle); - journal->j_bdev_handle = NULL; + if (IS_ERR(journal->j_bdev_file)) { + result = PTR_ERR(journal->j_bdev_file); + journal->j_bdev_file = NULL; reiserfs_warning(super, "sh-458", "cannot init journal device unknown-block(%u,%u): %i", MAJOR(jdev), MINOR(jdev), result); return result; } else if (jdev != super->s_dev) - set_blocksize(journal->j_bdev_handle->bdev, + set_blocksize(file_bdev(journal->j_bdev_file), super->s_blocksize); return 0; } - journal->j_bdev_handle = bdev_open_by_path(jdev_name, blkdev_mode, + journal->j_bdev_file = bdev_file_open_by_path(jdev_name, blkdev_mode, holder, NULL); - if (IS_ERR(journal->j_bdev_handle)) { - result = PTR_ERR(journal->j_bdev_handle); - journal->j_bdev_handle = NULL; + if (IS_ERR(journal->j_bdev_file)) { + result = PTR_ERR(journal->j_bdev_file); + journal->j_bdev_file = NULL; reiserfs_warning(super, "sh-457", "journal_init_dev: Cannot open '%s': %i", jdev_name, result); return result; } - set_blocksize(journal->j_bdev_handle->bdev, super->s_blocksize); + set_blocksize(file_bdev(journal->j_bdev_file), super->s_blocksize); reiserfs_info(super, "journal_init_dev: journal device: %pg\n", - journal->j_bdev_handle->bdev); + file_bdev(journal->j_bdev_file)); return 0; } @@ -2804,7 +2804,7 @@ int journal_init(struct super_block *sb, const char *j_dev_name, "journal header magic %x (device %pg) does " "not match to magic found in super block %x", jh->jh_journal.jp_journal_magic, - journal->j_bdev_handle->bdev, + file_bdev(journal->j_bdev_file), sb_jp_journal_magic(rs)); brelse(bhjh); goto free_and_return; @@ -2828,7 +2828,7 @@ int journal_init(struct super_block *sb, const char *j_dev_name, reiserfs_info(sb, "journal params: device %pg, size %u, " "journal first block %u, max trans len %u, max batch %u, " "max commit age %u, max trans age %u\n", - journal->j_bdev_handle->bdev, + file_bdev(journal->j_bdev_file), SB_ONDISK_JOURNAL_SIZE(sb), SB_ONDISK_JOURNAL_1st_BLOCK(sb), journal->j_trans_max, diff --git a/fs/reiserfs/procfs.c b/fs/reiserfs/procfs.c index 83cb9402e0f9..5c68a4a52d78 100644 --- a/fs/reiserfs/procfs.c +++ b/fs/reiserfs/procfs.c @@ -354,7 +354,7 @@ static int show_journal(struct seq_file *m, void *unused) "prepare: \t%12lu\n" "prepare_retry: \t%12lu\n", DJP(jp_journal_1st_block), - SB_JOURNAL(sb)->j_bdev_handle->bdev, + file_bdev(SB_JOURNAL(sb)->j_bdev_file), DJP(jp_journal_dev), DJP(jp_journal_size), DJP(jp_journal_trans_max), diff --git a/fs/reiserfs/reiserfs.h b/fs/reiserfs/reiserfs.h index 725667880e62..0554903f42a9 100644 --- a/fs/reiserfs/reiserfs.h +++ b/fs/reiserfs/reiserfs.h @@ -299,7 +299,7 @@ struct reiserfs_journal { /* oldest journal block. start here for traverse */ struct reiserfs_journal_cnode *j_first; - struct bdev_handle *j_bdev_handle; + struct file *j_bdev_file; /* first block on s_dev of reserved area journal */ int j_1st_reserved_block; @@ -2810,10 +2810,10 @@ struct reiserfs_journal_header { /* We need these to make journal.c code more readable */ #define journal_find_get_block(s, block) __find_get_block(\ - SB_JOURNAL(s)->j_bdev_handle->bdev, block, s->s_blocksize) -#define journal_getblk(s, block) __getblk(SB_JOURNAL(s)->j_bdev_handle->bdev,\ + file_bdev(SB_JOURNAL(s)->j_bdev_file), block, s->s_blocksize) +#define journal_getblk(s, block) __getblk(file_bdev(SB_JOURNAL(s)->j_bdev_file),\ block, s->s_blocksize) -#define journal_bread(s, block) __bread(SB_JOURNAL(s)->j_bdev_handle->bdev,\ +#define journal_bread(s, block) __bread(file_bdev(SB_JOURNAL(s)->j_bdev_file),\ block, s->s_blocksize) enum reiserfs_bh_state_bits {
Signed-off-by: Christian Brauner <brauner@kernel.org> --- fs/reiserfs/journal.c | 38 +++++++++++++++++++------------------- fs/reiserfs/procfs.c | 2 +- fs/reiserfs/reiserfs.h | 8 ++++---- 3 files changed, 24 insertions(+), 24 deletions(-)