From: Christian Brauner <brauner@kernel.org>
To: Dave Chinner <david@fromorbit.com>
Cc: Jan Kara <jack@suse.cz>, Christoph Hellwig <hch@lst.de>,
Jens Axboe <axboe@kernel.dk>,
"Darrick J. Wong" <djwong@kernel.org>,
linux-fsdevel@vger.kernel.org, linux-block@vger.kernel.org
Subject: Re: [PATCH RFC 07/34] xfs: port block device access to files
Date: Mon, 8 Jan 2024 12:34:41 +0100 [thread overview]
Message-ID: <20240108-raunen-forsten-46a5b3f63fa1@brauner> (raw)
In-Reply-To: <ZZuJUgOaYONI1fwZ@dread.disaster.area>
On Mon, Jan 08, 2024 at 04:34:10PM +1100, Dave Chinner wrote:
> On Wed, Jan 03, 2024 at 01:55:05PM +0100, Christian Brauner wrote:
> > Signed-off-by: Christian Brauner <brauner@kernel.org>
> > ---
> > fs/xfs/xfs_buf.c | 10 +++++-----
> > fs/xfs/xfs_buf.h | 4 ++--
> > fs/xfs/xfs_super.c | 43 +++++++++++++++++++++----------------------
> > 3 files changed, 28 insertions(+), 29 deletions(-)
> >
> > diff --git a/fs/xfs/xfs_buf.c b/fs/xfs/xfs_buf.c
> > index 545c7991b9b5..685eb2a9f9d2 100644
> > --- a/fs/xfs/xfs_buf.c
> > +++ b/fs/xfs/xfs_buf.c
> > @@ -1951,7 +1951,7 @@ xfs_free_buftarg(
> > fs_put_dax(btp->bt_daxdev, btp->bt_mount);
> > /* the main block device is closed by kill_block_super */
> > if (btp->bt_bdev != btp->bt_mount->m_super->s_bdev)
> > - bdev_release(btp->bt_bdev_handle);
> > + fput(btp->bt_f_bdev);
>
> bt_bdev_file, please.
>
> "_f_" is not a meaningful prefix, and if we fill the code up with
> single letter prefixes is becomes completely unreadable.
Ack to all suggestions.
>
> >
> > kmem_free(btp);
> > }
> > @@ -1994,7 +1994,7 @@ xfs_setsize_buftarg_early(
> > struct xfs_buftarg *
> > xfs_alloc_buftarg(
> > struct xfs_mount *mp,
> > - struct bdev_handle *bdev_handle)
> > + struct file *f_bdev)
>
> struct file *bdev_file)
> > {
> > xfs_buftarg_t *btp;
> > const struct dax_holder_operations *ops = NULL;
> > @@ -2005,9 +2005,9 @@ xfs_alloc_buftarg(
> > btp = kmem_zalloc(sizeof(*btp), KM_NOFS);
> >
> > btp->bt_mount = mp;
> > - btp->bt_bdev_handle = bdev_handle;
> > - btp->bt_dev = bdev_handle->bdev->bd_dev;
> > - btp->bt_bdev = bdev_handle->bdev;
> > + btp->bt_f_bdev = f_bdev;
> > + btp->bt_bdev = F_BDEV(f_bdev);
>
> file_bdev(), please. i.e. similar to file_inode().
>
>
> > diff --git a/fs/xfs/xfs_super.c b/fs/xfs/xfs_super.c
> > index 0e64220bffdc..01ef0ef83c41 100644
> > --- a/fs/xfs/xfs_super.c
> > +++ b/fs/xfs/xfs_super.c
> > @@ -362,16 +362,16 @@ STATIC int
> > xfs_blkdev_get(
> > xfs_mount_t *mp,
> > const char *name,
> > - struct bdev_handle **handlep)
> > + struct file **f_bdevp)
>
> struct file **filep
>
> > {
> > int error = 0;
> >
> > - *handlep = bdev_open_by_path(name,
> > + *f_bdevp = bdev_file_open_by_path(name,
> > BLK_OPEN_READ | BLK_OPEN_WRITE | BLK_OPEN_RESTRICT_WRITES,
> > mp->m_super, &fs_holder_ops);
> > - if (IS_ERR(*handlep)) {
> > - error = PTR_ERR(*handlep);
> > - *handlep = NULL;
> > + if (IS_ERR(*f_bdevp)) {
> > + error = PTR_ERR(*f_bdevp);
> > + *f_bdevp = NULL;
> > xfs_warn(mp, "Invalid device [%s], error=%d", name, error);
> > }
> >
> > @@ -436,26 +436,25 @@ xfs_open_devices(
> > {
> > struct super_block *sb = mp->m_super;
> > struct block_device *ddev = sb->s_bdev;
> > - struct bdev_handle *logdev_handle = NULL, *rtdev_handle = NULL;
> > + struct file *f_logdev = NULL, *f_rtdev = NULL;
>
> struct file *logdev_file = NULL;
> struct file *rtdev_file = NULL;
> ...
>
> -Dave.
> --
> Dave Chinner
> david@fromorbit.com
next prev parent reply other threads:[~2024-01-08 11:34 UTC|newest]
Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-01-03 12:54 [PATCH RFC 00/34] Open block devices as files & a bd_inode proposal Christian Brauner
2024-01-03 12:54 ` [PATCH RFC 01/34] bdev: open block device as files Christian Brauner
2024-01-08 5:37 ` Dave Chinner
2024-01-08 11:34 ` Christian Brauner
2024-01-17 15:31 ` Jan Kara
2024-01-18 17:22 ` Christian Brauner
2024-01-03 12:55 ` [PATCH RFC 02/34] block/ioctl: port blkdev_bszset() to file Christian Brauner
2024-01-03 12:55 ` [PATCH RFC 03/34] block/genhd: port disk_scan_partitions() " Christian Brauner
2024-01-03 12:55 ` [PATCH RFC 04/34] md: port block device access " Christian Brauner
2024-01-03 12:55 ` [PATCH RFC 05/34] swap: port block device usage " Christian Brauner
2024-01-03 12:55 ` [PATCH RFC 06/34] power: port block device access " Christian Brauner
2024-01-03 12:55 ` [PATCH RFC 07/34] xfs: port block device access to files Christian Brauner
2024-01-08 5:34 ` Dave Chinner
2024-01-08 11:34 ` Christian Brauner [this message]
2024-01-03 12:55 ` [PATCH RFC 08/34] drbd: port block device access to file Christian Brauner
2024-01-03 12:55 ` [PATCH RFC 09/34] pktcdvd: " Christian Brauner
2024-01-03 12:55 ` [PATCH RFC 10/34] rnbd: " Christian Brauner
2024-01-03 12:55 ` [PATCH RFC 11/34] xen: " Christian Brauner
2024-01-03 12:55 ` [PATCH RFC 12/34] zram: " Christian Brauner
2024-01-03 12:55 ` [PATCH RFC 13/34] bcache: port block device access to files Christian Brauner
2024-01-03 12:55 ` [PATCH RFC 14/34] block2mtd: port " Christian Brauner
2024-01-03 12:55 ` [PATCH RFC 15/34] nvme: port block device access to file Christian Brauner
2024-01-03 12:55 ` [PATCH RFC 16/34] s390: " Christian Brauner
2024-01-03 12:55 ` [PATCH RFC 17/34] target: " Christian Brauner
2024-01-03 12:55 ` [PATCH RFC 18/34] bcachefs: " Christian Brauner
2024-01-03 12:55 ` [PATCH RFC 19/34] btrfs: port " Christian Brauner
2024-01-03 12:55 ` [PATCH RFC 20/34] erofs: " Christian Brauner
2024-01-03 12:55 ` [PATCH RFC 21/34] ext4: port block " Christian Brauner
2024-01-03 12:55 ` [PATCH RFC 22/34] f2fs: port block device access to files Christian Brauner
2024-01-03 12:55 ` [PATCH RFC 23/34] jfs: port block device access to file Christian Brauner
2024-01-03 12:55 ` [PATCH RFC 24/34] nfs: port block device access to files Christian Brauner
2024-01-03 12:55 ` [PATCH RFC 25/34] ocfs2: port block device access to file Christian Brauner
2024-01-03 12:55 ` [PATCH RFC 26/34] reiserfs: " Christian Brauner
2024-01-03 12:55 ` [PATCH RFC 27/34] bdev: remove bdev_open_by_path() Christian Brauner
2024-01-03 12:55 ` [PATCH RFC 28/34] bdev: make bdev_release() private to block layer Christian Brauner
2024-01-03 12:55 ` [PATCH RFC 29/34] bdev: make struct bdev_handle private to the " Christian Brauner
2024-01-03 12:55 ` [PATCH RFC 30/34] bdev: rework bdev_open_by_dev() Christian Brauner
2024-01-03 12:55 ` [PATCH RFC 31/34] ext4: rely on sb->f_bdev only Christian Brauner
2024-01-03 12:55 ` [PATCH RFC 32/34] block: expose bdev_file_inode() Christian Brauner
2024-01-03 12:55 ` [PATCH RFC 33/34] ext4: use bdev_file_inode() Christian Brauner
2024-01-03 12:55 ` [PATCH DRAFT RFC 34/34] buffer: port block device access to files and get rid of bd_inode access Christian Brauner
2024-01-08 5:52 ` Dave Chinner
2024-01-17 16:15 ` Jan Kara
2024-01-17 16:24 ` Christoph Hellwig
2024-01-17 16:33 ` Jan Kara
2024-01-18 17:39 ` Christian Brauner
2024-01-17 16:32 ` Jan Kara
2024-01-18 17:41 ` Christian Brauner
2024-01-08 16:26 ` [PATCH RFC 00/34] Open block devices as files & a bd_inode proposal Christoph Hellwig
2024-01-09 8:46 ` Jan Kara
2024-01-15 14:24 ` Christian Brauner
2024-01-17 16:46 ` Jan Kara
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=20240108-raunen-forsten-46a5b3f63fa1@brauner \
--to=brauner@kernel.org \
--cc=axboe@kernel.dk \
--cc=david@fromorbit.com \
--cc=djwong@kernel.org \
--cc=hch@lst.de \
--cc=jack@suse.cz \
--cc=linux-block@vger.kernel.org \
--cc=linux-fsdevel@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 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).