All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christoph Hellwig <hch@lst.de>
To: Al Viro <viro@zeniv.linux.org.uk>,
	Christian Brauner <brauner@kernel.org>
Cc: Jens Axboe <axboe@kernel.dk>,
	linux-block@vger.kernel.org, linux-nilfs@vger.kernel.org,
	Jan Kara <jack@suse.cz>,
	linux-fsdevel@vger.kernel.org,
	"Darrick J. Wong" <djwong@kernel.org>,
	Josef Bacik <josef@toxicpanda.com>,
	linux-f2fs-devel@lists.sourceforge.net,
	linux-xfs@vger.kernel.org, Chris Mason <clm@fb.com>,
	Andreas Dilger <adilger.kernel@dilger.ca>,
	Jaegeuk Kim <jaegeuk@kernel.org>, David Sterba <dsterba@suse.com>,
	Theodore Ts'o <tytso@mit.edu>,
	linux-ext4@vger.kernel.org,
	Ryusuke Konishi <konishi.ryusuke@gmail.com>,
	linux-btrfs@vger.kernel.org
Subject: [f2fs-dev] [PATCH 12/12] xfs use fs_holder_ops for the log and RT devices
Date: Wed,  2 Aug 2023 17:41:31 +0200	[thread overview]
Message-ID: <20230802154131.2221419-13-hch@lst.de> (raw)
In-Reply-To: <20230802154131.2221419-1-hch@lst.de>

Use the generic fs_holder_ops to shut down the file system when the
log or RT device goes away instead of duplicating the logic.

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 fs/xfs/xfs_super.c | 17 +++--------------
 1 file changed, 3 insertions(+), 14 deletions(-)

diff --git a/fs/xfs/xfs_super.c b/fs/xfs/xfs_super.c
index d5042419ed9997..338eba71ff8667 100644
--- a/fs/xfs/xfs_super.c
+++ b/fs/xfs/xfs_super.c
@@ -377,17 +377,6 @@ xfs_setup_dax_always(
 	return 0;
 }
 
-static void
-xfs_bdev_mark_dead(
-	struct block_device	*bdev)
-{
-	xfs_force_shutdown(bdev->bd_holder, SHUTDOWN_DEVICE_REMOVED);
-}
-
-static const struct blk_holder_ops xfs_holder_ops = {
-	.mark_dead		= xfs_bdev_mark_dead,
-};
-
 STATIC int
 xfs_blkdev_get(
 	xfs_mount_t		*mp,
@@ -396,8 +385,8 @@ xfs_blkdev_get(
 {
 	int			error = 0;
 
-	*bdevp = blkdev_get_by_path(name, BLK_OPEN_READ | BLK_OPEN_WRITE, mp,
-				    &xfs_holder_ops);
+	*bdevp = blkdev_get_by_path(name, BLK_OPEN_READ | BLK_OPEN_WRITE,
+				    mp->m_super, &fs_holder_ops);
 	if (IS_ERR(*bdevp)) {
 		error = PTR_ERR(*bdevp);
 		xfs_warn(mp, "Invalid device [%s], error=%d", name, error);
@@ -412,7 +401,7 @@ xfs_blkdev_put(
 	struct block_device	*bdev)
 {
 	if (bdev)
-		blkdev_put(bdev, mp);
+		blkdev_put(bdev, mp->m_super);
 }
 
 STATIC void
-- 
2.39.2



_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

WARNING: multiple messages have this Message-ID (diff)
From: Christoph Hellwig <hch@lst.de>
To: Al Viro <viro@zeniv.linux.org.uk>,
	Christian Brauner <brauner@kernel.org>
Cc: Jan Kara <jack@suse.cz>, Chris Mason <clm@fb.com>,
	Josef Bacik <josef@toxicpanda.com>,
	David Sterba <dsterba@suse.com>, "Theodore Ts'o" <tytso@mit.edu>,
	Andreas Dilger <adilger.kernel@dilger.ca>,
	Jaegeuk Kim <jaegeuk@kernel.org>, Chao Yu <chao@kernel.org>,
	Ryusuke Konishi <konishi.ryusuke@gmail.com>,
	"Darrick J. Wong" <djwong@kernel.org>,
	Jens Axboe <axboe@kernel.dk>,
	linux-btrfs@vger.kernel.org, linux-ext4@vger.kernel.org,
	linux-f2fs-devel@lists.sourceforge.net,
	linux-nilfs@vger.kernel.org, linux-fsdevel@vger.kernel.org,
	linux-xfs@vger.kernel.org, linux-block@vger.kernel.org
Subject: [PATCH 12/12] xfs use fs_holder_ops for the log and RT devices
Date: Wed,  2 Aug 2023 17:41:31 +0200	[thread overview]
Message-ID: <20230802154131.2221419-13-hch@lst.de> (raw)
In-Reply-To: <20230802154131.2221419-1-hch@lst.de>

Use the generic fs_holder_ops to shut down the file system when the
log or RT device goes away instead of duplicating the logic.

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 fs/xfs/xfs_super.c | 17 +++--------------
 1 file changed, 3 insertions(+), 14 deletions(-)

diff --git a/fs/xfs/xfs_super.c b/fs/xfs/xfs_super.c
index d5042419ed9997..338eba71ff8667 100644
--- a/fs/xfs/xfs_super.c
+++ b/fs/xfs/xfs_super.c
@@ -377,17 +377,6 @@ xfs_setup_dax_always(
 	return 0;
 }
 
-static void
-xfs_bdev_mark_dead(
-	struct block_device	*bdev)
-{
-	xfs_force_shutdown(bdev->bd_holder, SHUTDOWN_DEVICE_REMOVED);
-}
-
-static const struct blk_holder_ops xfs_holder_ops = {
-	.mark_dead		= xfs_bdev_mark_dead,
-};
-
 STATIC int
 xfs_blkdev_get(
 	xfs_mount_t		*mp,
@@ -396,8 +385,8 @@ xfs_blkdev_get(
 {
 	int			error = 0;
 
-	*bdevp = blkdev_get_by_path(name, BLK_OPEN_READ | BLK_OPEN_WRITE, mp,
-				    &xfs_holder_ops);
+	*bdevp = blkdev_get_by_path(name, BLK_OPEN_READ | BLK_OPEN_WRITE,
+				    mp->m_super, &fs_holder_ops);
 	if (IS_ERR(*bdevp)) {
 		error = PTR_ERR(*bdevp);
 		xfs_warn(mp, "Invalid device [%s], error=%d", name, error);
@@ -412,7 +401,7 @@ xfs_blkdev_put(
 	struct block_device	*bdev)
 {
 	if (bdev)
-		blkdev_put(bdev, mp);
+		blkdev_put(bdev, mp->m_super);
 }
 
 STATIC void
-- 
2.39.2


WARNING: multiple messages have this Message-ID (diff)
From: Christoph Hellwig <hch@lst.de>
To: Al Viro <viro@zeniv.linux.org.uk>,
	Christian Brauner <brauner@kernel.org>
Cc: Jens Axboe <axboe@kernel.dk>,
	linux-block@vger.kernel.org, linux-nilfs@vger.kernel.org,
	Jan Kara <jack@suse.cz>,
	linux-fsdevel@vger.kernel.org,
	"Darrick J. Wong" <djwong@kernel.org>,
	Josef Bacik <josef@toxicpanda.com>,
	linux-f2fs-devel@lists.sourceforge.net,
	linux-xfs@vger.kernel.org, Chris Mason <clm@fb.com>,
	Andreas Dilger <adilger.kernel@dilger.ca>,
	Jaegeuk Kim <jaegeuk@kernel.org>, David Sterba <dsterba@suse.com>,
	Theodore Ts'o <tytso@mit.edu>,
	linux-ext4@vger.kernel.org,
	Ryusuke Konishi <konishi.ryusuke@gmail.com>,
	linux-btrfs@vger.kernel.org
Subject: [PATCH 12/12] xfs use fs_holder_ops for the log and RT devices
Date: Wed,  2 Aug 2023 17:41:31 +0200	[thread overview]
Message-ID: <20230802154131.2221419-13-hch@lst.de> (raw)
In-Reply-To: <20230802154131.2221419-1-hch@lst.de>

Use the generic fs_holder_ops to shut down the file system when the
log or RT device goes away instead of duplicating the logic.

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 fs/xfs/xfs_super.c | 17 +++--------------
 1 file changed, 3 insertions(+), 14 deletions(-)

diff --git a/fs/xfs/xfs_super.c b/fs/xfs/xfs_super.c
index d5042419ed9997..338eba71ff8667 100644
--- a/fs/xfs/xfs_super.c
+++ b/fs/xfs/xfs_super.c
@@ -377,17 +377,6 @@ xfs_setup_dax_always(
 	return 0;
 }
 
-static void
-xfs_bdev_mark_dead(
-	struct block_device	*bdev)
-{
-	xfs_force_shutdown(bdev->bd_holder, SHUTDOWN_DEVICE_REMOVED);
-}
-
-static const struct blk_holder_ops xfs_holder_ops = {
-	.mark_dead		= xfs_bdev_mark_dead,
-};
-
 STATIC int
 xfs_blkdev_get(
 	xfs_mount_t		*mp,
@@ -396,8 +385,8 @@ xfs_blkdev_get(
 {
 	int			error = 0;
 
-	*bdevp = blkdev_get_by_path(name, BLK_OPEN_READ | BLK_OPEN_WRITE, mp,
-				    &xfs_holder_ops);
+	*bdevp = blkdev_get_by_path(name, BLK_OPEN_READ | BLK_OPEN_WRITE,
+				    mp->m_super, &fs_holder_ops);
 	if (IS_ERR(*bdevp)) {
 		error = PTR_ERR(*bdevp);
 		xfs_warn(mp, "Invalid device [%s], error=%d", name, error);
@@ -412,7 +401,7 @@ xfs_blkdev_put(
 	struct block_device	*bdev)
 {
 	if (bdev)
-		blkdev_put(bdev, mp);
+		blkdev_put(bdev, mp->m_super);
 }
 
 STATIC void
-- 
2.39.2

  parent reply	other threads:[~2023-08-02 15:42 UTC|newest]

Thread overview: 122+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-08-02 15:41 more blkdev_get and holder work Christoph Hellwig
2023-08-02 15:41 ` [f2fs-dev] " Christoph Hellwig
2023-08-02 15:41 ` [PATCH 01/12] fs: export setup_bdev_super Christoph Hellwig
2023-08-02 15:41   ` Christoph Hellwig
2023-08-02 15:41   ` [f2fs-dev] " Christoph Hellwig
2023-08-03 18:04   ` Christian Brauner
2023-08-03 18:04     ` Christian Brauner
2023-08-03 18:04     ` Christian Brauner
2023-09-04 18:11   ` [f2fs-dev] " patchwork-bot+f2fs
2023-09-04 18:11     ` patchwork-bot+f2fs
2023-08-02 15:41 ` [PATCH 02/12] nilfs2: use setup_bdev_super to de-duplicate the mount code Christoph Hellwig
2023-08-02 15:41   ` [f2fs-dev] " Christoph Hellwig
2023-08-03 11:46   ` Jan Kara
2023-08-03 11:46     ` Jan Kara
2023-08-03 11:46     ` [f2fs-dev] " Jan Kara
2023-08-04  2:01     ` Ryusuke Konishi
2023-08-04  2:01       ` Ryusuke Konishi
2023-08-04  2:01       ` [f2fs-dev] " Ryusuke Konishi
2023-08-10 11:05       ` Jan Kara
2023-08-10 11:05         ` Jan Kara
2023-08-10 11:05         ` [f2fs-dev] " Jan Kara
2023-08-10 16:39         ` Ryusuke Konishi
2023-08-10 16:39           ` Ryusuke Konishi
2023-08-10 16:39           ` [f2fs-dev] " Ryusuke Konishi
2023-08-10 18:14           ` Jan Kara
2023-08-10 18:14             ` Jan Kara
2023-08-10 18:14             ` [f2fs-dev] " Jan Kara
2023-08-04  5:04   ` Ryusuke Konishi
2023-08-04  5:04     ` Ryusuke Konishi
2023-08-04  5:04     ` Ryusuke Konishi
2023-08-02 15:41 ` [PATCH 03/12] btrfs: always open the device read-only in btrfs_scan_one_device Christoph Hellwig
2023-08-02 15:41   ` Christoph Hellwig
2023-08-02 15:41   ` [f2fs-dev] " Christoph Hellwig
2023-08-02 15:41 ` [PATCH 04/12] btrfs: open block devices after superblock creation Christoph Hellwig
2023-08-02 15:41   ` [f2fs-dev] " Christoph Hellwig
2023-08-02 15:41 ` [PATCH 05/12] ext4: make the IS_EXT2_SB/IS_EXT3_SB checks more robust Christoph Hellwig
2023-08-02 15:41   ` [f2fs-dev] " Christoph Hellwig
2023-08-03 11:21   ` Jan Kara
2023-08-03 11:21     ` Jan Kara
2023-08-03 11:21     ` [f2fs-dev] " Jan Kara
2023-08-03 18:10   ` Christian Brauner
2023-08-03 18:10     ` Christian Brauner
2023-08-03 18:10     ` [f2fs-dev] " Christian Brauner
2023-08-04 20:34   ` Theodore Ts'o
2023-08-04 20:34     ` Theodore Ts'o
2023-08-04 20:34     ` [f2fs-dev] " Theodore Ts'o
2023-08-02 15:41 ` [PATCH 06/12] fs: use the super_block as holder when mounting file systems Christoph Hellwig
2023-08-02 15:41   ` Christoph Hellwig
2023-08-02 15:41   ` [f2fs-dev] " Christoph Hellwig
2023-08-03 11:51   ` Jan Kara
2023-08-03 11:51     ` Jan Kara
2023-08-03 11:51     ` [f2fs-dev] " Jan Kara
2023-08-03 13:33     ` Jan Kara
2023-08-03 13:33       ` Jan Kara
2023-08-03 13:33       ` Jan Kara
2023-08-05  8:36       ` Christoph Hellwig
2023-08-05  8:36         ` Christoph Hellwig
2023-08-05  8:36         ` [f2fs-dev] " Christoph Hellwig
2023-08-03 18:11   ` Christian Brauner
2023-08-03 18:11     ` Christian Brauner
2023-08-03 18:11     ` [f2fs-dev] " Christian Brauner
2023-08-02 15:41 ` [PATCH 07/12] fs: stop using get_super in fs_mark_dead Christoph Hellwig
2023-08-02 15:41   ` Christoph Hellwig
2023-08-02 15:41   ` [f2fs-dev] " Christoph Hellwig
2023-08-03 13:12   ` Jan Kara
2023-08-03 13:12     ` Jan Kara
2023-08-03 13:12     ` Jan Kara
2023-08-03 18:15   ` Christian Brauner
2023-08-03 18:15     ` [f2fs-dev] " Christian Brauner
2023-08-02 15:41 ` [f2fs-dev] [PATCH 08/12] fs: export fs_holder_ops Christoph Hellwig
2023-08-02 15:41   ` Christoph Hellwig
2023-08-02 15:41   ` Christoph Hellwig
2023-08-03 13:16   ` [f2fs-dev] " Jan Kara
2023-08-03 13:16     ` Jan Kara
2023-08-03 13:16     ` Jan Kara
2023-08-03 18:15   ` Christian Brauner
2023-08-03 18:15     ` [f2fs-dev] " Christian Brauner
2023-08-02 15:41 ` [f2fs-dev] [PATCH 09/12] ext4: drop s_umount over opening the log device Christoph Hellwig
2023-08-02 15:41   ` Christoph Hellwig
2023-08-02 15:41   ` Christoph Hellwig
2023-08-03 13:25   ` Jan Kara
2023-08-03 13:25     ` Jan Kara
2023-08-03 13:25     ` [f2fs-dev] " Jan Kara
2023-08-03 18:16   ` Christian Brauner
2023-08-03 18:16     ` Christian Brauner
2023-08-03 18:16     ` [f2fs-dev] " Christian Brauner
2023-08-04 20:34   ` Theodore Ts'o
2023-08-04 20:34     ` Theodore Ts'o
2023-08-04 20:34     ` [f2fs-dev] " Theodore Ts'o
2023-08-02 15:41 ` [f2fs-dev] [PATCH 10/12] ext4: use fs_holder_ops for " Christoph Hellwig
2023-08-02 15:41   ` Christoph Hellwig
2023-08-02 15:41   ` Christoph Hellwig
2023-08-03 13:26   ` Jan Kara
2023-08-03 13:26     ` [f2fs-dev] " Jan Kara
2023-08-02 15:41 ` [f2fs-dev] [PATCH 11/12] xfs: drop s_umount over opening the log and RT devices Christoph Hellwig
2023-08-02 15:41   ` Christoph Hellwig
2023-08-02 15:41   ` Christoph Hellwig
2023-08-02 16:32   ` Darrick J. Wong
2023-08-02 16:32     ` Darrick J. Wong
2023-08-02 16:32     ` [f2fs-dev] " Darrick J. Wong
2023-08-05  8:32     ` Christoph Hellwig
2023-08-05  8:32       ` Christoph Hellwig
2023-08-05  8:32       ` [f2fs-dev] " Christoph Hellwig
2023-08-05 10:39       ` Christian Brauner
2023-08-05 10:39         ` [f2fs-dev] " Christian Brauner
2023-08-05 16:19       ` Darrick J. Wong
2023-08-05 16:19         ` [f2fs-dev] " Darrick J. Wong
2023-08-05 17:13         ` Christian Brauner
2023-08-05 17:13           ` [f2fs-dev] " Christian Brauner
2023-08-02 15:41 ` Christoph Hellwig [this message]
2023-08-02 15:41   ` [PATCH 12/12] xfs use fs_holder_ops for " Christoph Hellwig
2023-08-02 15:41   ` Christoph Hellwig
2023-08-02 16:33   ` Darrick J. Wong
2023-08-02 16:33     ` [f2fs-dev] " Darrick J. Wong
2023-08-14 10:58   ` Carlos Maiolino
2023-08-14 10:58     ` Carlos Maiolino
2023-08-14 10:58     ` [f2fs-dev] " Carlos Maiolino
2023-08-14 11:05   ` Carlos Maiolino
2023-08-14 11:05     ` Carlos Maiolino
2023-08-14 11:05     ` Carlos Maiolino
2023-08-04 15:39 ` more blkdev_get and holder work Christian Brauner
2023-08-04 15:39   ` [f2fs-dev] " Christian Brauner

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=20230802154131.2221419-13-hch@lst.de \
    --to=hch@lst.de \
    --cc=adilger.kernel@dilger.ca \
    --cc=axboe@kernel.dk \
    --cc=brauner@kernel.org \
    --cc=clm@fb.com \
    --cc=djwong@kernel.org \
    --cc=dsterba@suse.com \
    --cc=jack@suse.cz \
    --cc=jaegeuk@kernel.org \
    --cc=josef@toxicpanda.com \
    --cc=konishi.ryusuke@gmail.com \
    --cc=linux-block@vger.kernel.org \
    --cc=linux-btrfs@vger.kernel.org \
    --cc=linux-ext4@vger.kernel.org \
    --cc=linux-f2fs-devel@lists.sourceforge.net \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-nilfs@vger.kernel.org \
    --cc=linux-xfs@vger.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 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.