From: Kent Overstreet <kent.overstreet@linux.dev>
To: Christian Brauner <brauner@kernel.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>,
linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org,
linux-bcachefs@vger.kernel.org, djwong@kernel.org,
dchinner@redhat.com, sandeen@redhat.com, willy@infradead.org,
josef@toxicpanda.com, tytso@mit.edu, bfoster@redhat.com,
jack@suse.cz, andreas.gruenbacher@gmail.com,
peterz@infradead.org, akpm@linux-foundation.org,
dhowells@redhat.com, snitzer@kernel.org, axboe@kernel.dk
Subject: Re: [GIT PULL] bcachefs
Date: Mon, 14 Aug 2023 11:23:35 -0400 [thread overview]
Message-ID: <20230814152335.oiroowt2co2kj4xx@moria.home.lan> (raw)
In-Reply-To: <20230814-funknetz-dreikampf-196dd2545dd9@brauner>
On Mon, Aug 14, 2023 at 09:25:54AM +0200, Christian Brauner wrote:
> On Fri, Aug 11, 2023 at 08:58:01AM -0400, Kent Overstreet wrote:
> > I don't see the justification for the delay - every cycle there's some
> > amount of vfs/block layer refactoring that affects filesystems, the
> > super work is no different.
>
> So, the reason is that we're very close to having the super code
> massaged in a shape where bcachefs should be able to directly make use
> of the helpers instead of having to pull in custom code at all. But not
> all that work has made it.
Well, bcachefs really isn't doing anything terribly unusual here; we're
using sget() directly, same as btrfs, and we have to because we're both
multi device filesystems.
Jan's restructing of mount_bdev() got me thinking that it should be
possible to do a mount_bdevs() that both btrfs and bcachefs could use -
but we don't need to be blocked on that, sget()'s been a normal exported
interface since forever.
Somewhat related, I dropped this patch from my tree:
block: Don't block on s_umount from __invalidate_super()
https://evilpiepirate.org/git/bcachefs.git/commit/?h=bcachefs-v6.3&id=1dd488901bc025a61e1ce1a0f54999a2b221bd78
and instead, for now we're closing block devices later in the shutdown
path like other filesystems do (after calling generic_shutdown_super(),
not in put_super()).
But now I've got some test failures, e.g.
https://evilpiepirate.org/~testdashboard/c/040e910f7f316ea6273c895dcc026b9f1ad36a8e/xfstests.generic.604/log.br
and since you guys are switching block device opens to use a real
holder, I suspect you'll be seeing the same issue soon.
The bug is that the mount appears to be gone - generic_shutdown_super()
is finished - so as far as userspace can tell everything is shutdown and
we should be able to start using the block device again, but the unmount
path hasn't actually called blkdev_put() yet.
So that patch I posted is one way to solve the self-deadlock from
calling blkdev_put() where we really want to be calling it... not the
prettiest way, but I think this is something we do need to get fixed.
next prev parent reply other threads:[~2023-08-14 15:24 UTC|newest]
Thread overview: 140+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-06-26 21:46 [GIT PULL] bcachefs Kent Overstreet
2023-06-26 23:11 ` Jens Axboe
2023-06-27 0:06 ` Kent Overstreet
2023-06-27 1:13 ` Jens Axboe
2023-06-27 2:05 ` Kent Overstreet
2023-06-27 2:59 ` Jens Axboe
2023-06-27 3:10 ` Kent Overstreet
2023-06-27 17:16 ` Jens Axboe
2023-06-27 20:15 ` Kent Overstreet
2023-06-27 22:05 ` Dave Chinner
2023-06-27 22:41 ` Kent Overstreet
2023-06-28 14:40 ` Jens Axboe
2023-06-28 14:48 ` Thomas Weißschuh
2023-06-28 14:58 ` Jens Axboe
2023-06-28 3:16 ` Jens Axboe
2023-06-28 4:01 ` Kent Overstreet
2023-06-28 14:58 ` Jens Axboe
2023-06-28 15:22 ` Jens Axboe
2023-06-28 17:56 ` Kent Overstreet
2023-06-28 20:45 ` Jens Axboe
2023-06-28 16:57 ` Jens Axboe
2023-06-28 17:33 ` Christian Brauner
2023-06-28 17:52 ` Kent Overstreet
2023-06-28 20:44 ` Jens Axboe
2023-06-28 21:17 ` Jens Axboe
2023-06-28 22:13 ` Kent Overstreet
2023-06-28 22:33 ` Jens Axboe
2023-06-28 22:55 ` Kent Overstreet
2023-06-28 23:14 ` Jens Axboe
2023-06-28 23:50 ` Kent Overstreet
2023-06-29 1:00 ` Dave Chinner
2023-06-29 1:33 ` Jens Axboe
2023-06-29 11:18 ` Christian Brauner
2023-06-29 14:17 ` Kent Overstreet
2023-06-29 15:31 ` Kent Overstreet
2023-06-30 9:40 ` Christian Brauner
2023-07-06 15:20 ` Kent Overstreet
2023-07-06 16:26 ` Jens Axboe
2023-07-06 16:34 ` Kent Overstreet
2023-06-29 1:29 ` Jens Axboe
2023-07-06 20:15 ` Kent Overstreet
2023-06-28 17:54 ` Kent Overstreet
2023-06-28 20:54 ` Jens Axboe
2023-06-28 22:14 ` Jens Axboe
2023-06-28 23:04 ` Kent Overstreet
2023-06-28 23:11 ` Jens Axboe
2023-06-27 2:33 ` Kent Overstreet
2023-06-27 2:59 ` Jens Axboe
2023-06-27 3:19 ` Matthew Wilcox
2023-06-27 3:22 ` Kent Overstreet
2023-06-27 3:52 ` Christoph Hellwig
2023-06-27 4:36 ` Kent Overstreet
2023-07-06 15:56 ` Kent Overstreet
2023-07-06 16:40 ` Josef Bacik
2023-07-06 17:38 ` Kent Overstreet
2023-07-06 19:17 ` Eric Sandeen
2023-07-06 19:31 ` Kent Overstreet
2023-07-06 21:19 ` Darrick J. Wong
2023-07-06 22:43 ` Kent Overstreet
2023-07-07 13:13 ` Jan Kara
2023-07-07 13:52 ` Kent Overstreet
2023-07-07 8:48 ` Christian Brauner
2023-07-07 9:18 ` Kent Overstreet
2023-07-07 16:26 ` James Bottomley
2023-07-07 16:48 ` Kent Overstreet
2023-07-07 17:04 ` James Bottomley
2023-07-07 17:26 ` Kent Overstreet
2023-07-08 3:54 ` Matthew Wilcox
2023-07-08 4:10 ` Kent Overstreet
2023-07-08 4:31 ` Kent Overstreet
2023-07-08 15:02 ` Theodore Ts'o
2023-07-08 15:23 ` Kent Overstreet
2023-07-08 16:42 ` James Bottomley
2023-07-09 1:16 ` Kent Overstreet
2023-07-07 9:35 ` Kent Overstreet
2023-07-07 2:04 ` Theodore Ts'o
2023-07-07 12:18 ` Brian Foster
2023-07-07 14:49 ` Kent Overstreet
2023-07-12 2:54 ` Kent Overstreet
2023-07-12 19:48 ` Kees Cook
2023-07-12 19:57 ` Kent Overstreet
2023-07-12 22:10 ` Darrick J. Wong
2023-07-12 23:57 ` Kent Overstreet
2023-08-09 1:27 ` Linus Torvalds
2023-08-10 15:54 ` Kent Overstreet
2023-08-10 16:40 ` Linus Torvalds
2023-08-10 18:02 ` Kent Overstreet
2023-08-10 18:09 ` Linus Torvalds
2023-08-10 17:52 ` Jan Kara
2023-08-11 2:47 ` Kent Overstreet
2023-08-11 8:10 ` Jan Kara
2023-08-11 8:13 ` Christian Brauner
2023-08-10 22:39 ` Darrick J. Wong
2023-08-10 23:47 ` Linus Torvalds
2023-08-11 2:40 ` Jens Axboe
2023-08-11 4:03 ` Kent Overstreet
2023-08-11 5:20 ` Linus Torvalds
2023-08-11 5:29 ` Kent Overstreet
2023-08-11 5:53 ` Linus Torvalds
2023-08-11 7:52 ` Christian Brauner
2023-08-11 14:31 ` Jens Axboe
2023-08-11 3:45 ` Kent Overstreet
2023-08-21 0:09 ` Dave Chinner
2023-08-10 23:07 ` Matthew Wilcox
2023-08-11 10:54 ` Christian Brauner
2023-08-11 12:58 ` Kent Overstreet
2023-08-14 7:25 ` Christian Brauner
2023-08-14 15:23 ` Kent Overstreet [this message]
2023-08-11 13:21 ` Kent Overstreet
2023-08-11 22:56 ` Darrick J. Wong
2023-08-14 7:21 ` Christian Brauner
2023-08-14 15:27 ` Kent Overstreet
2023-09-03 3:25 Kent Overstreet
2023-09-05 13:24 ` Christoph Hellwig
2023-09-06 0:00 ` Kent Overstreet
2023-09-06 0:41 ` Matthew Wilcox
2023-09-06 16:10 ` Kent Overstreet
2023-09-06 17:57 ` Darrick J. Wong
2023-09-08 9:37 ` Christoph Hellwig
2023-09-06 19:36 ` Linus Torvalds
2023-09-06 20:02 ` Linus Torvalds
2023-09-06 20:20 ` Linus Torvalds
2023-09-06 21:55 ` Arnaldo Carvalho de Melo
2023-09-06 23:13 ` David Sterba
2023-09-06 23:34 ` Linus Torvalds
2023-09-06 23:46 ` Arnaldo Carvalho de Melo
2023-09-06 23:53 ` Arnaldo Carvalho de Melo
2023-09-06 23:16 ` Linus Torvalds
2023-09-10 0:53 ` Kent Overstreet
2023-09-07 20:37 ` Kent Overstreet
2023-09-07 20:51 ` Linus Torvalds
2023-09-07 23:40 ` Kent Overstreet
2023-09-08 6:29 ` Martin Steigerwald
2023-09-08 9:11 ` Joshua Ashton
2023-09-06 22:28 ` Nathan Chancellor
2023-09-07 0:03 ` Kees Cook
2023-09-07 14:29 ` Chris Mason
2023-09-07 20:39 ` Kent Overstreet
2023-09-08 10:50 ` Brian Foster
2023-09-08 23:05 ` Dave Chinner
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=20230814152335.oiroowt2co2kj4xx@moria.home.lan \
--to=kent.overstreet@linux.dev \
--cc=akpm@linux-foundation.org \
--cc=andreas.gruenbacher@gmail.com \
--cc=axboe@kernel.dk \
--cc=bfoster@redhat.com \
--cc=brauner@kernel.org \
--cc=dchinner@redhat.com \
--cc=dhowells@redhat.com \
--cc=djwong@kernel.org \
--cc=jack@suse.cz \
--cc=josef@toxicpanda.com \
--cc=linux-bcachefs@vger.kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=peterz@infradead.org \
--cc=sandeen@redhat.com \
--cc=snitzer@kernel.org \
--cc=torvalds@linux-foundation.org \
--cc=tytso@mit.edu \
--cc=willy@infradead.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).