[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20160218132045.GD4338@quack.suse.cz>
Date: Thu, 18 Feb 2016 14:20:45 +0100
From: Jan Kara <jack@...e.cz>
To: Tejun Heo <tj@...nel.org>
Cc: Jan Kara <jack@...e.cz>, Tahsin Erdogan <tahsin@...gle.com>,
Jens Axboe <axboe@...nel.dk>, cgroups@...r.kernel.org,
Theodore Ts'o <tytso@....edu>,
Nauman Rafique <nauman@...gle.com>,
linux-kernel@...r.kernel.org, Jan Kara <jack@...e.com>,
Al Viro <viro@...IV.linux.org.uk>
Subject: Re: [PATCH block/for-4.5-fixes] writeback: keep superblock pinned
during cgroup writeback association switches
Hi Tejun,
On Thu 18-02-16 08:00:33, Tejun Heo wrote:
> On Thu, Feb 18, 2016 at 10:55:38AM +0100, Jan Kara wrote:
> > I'm not sure I understand the question. Do you mean why both s_active and
> > s_umount rwsem exist? s_active is a reference count keeping superblock
>
> Yes.
>
> > alive - e.g. if the filesystem is mounted in more places, we need a
> > reference for each mountpoint. s_umount is used when we want to block any
>
> I could be mistaken but I *think* we used to reject umounts based on
> s_active and s_umount is the mechanism to delay umounts rather than
> failing them and probably with bind mounts the behavior changed.
>
> > umount operation until we are done. For example sync(2) is using it to make
> > sure superblock doesn't disappear and so that we don't keep superblock
> > alive after admin called umount(2).
>
> So, the question is why aren't we just using s_active and draining it
> on umount of the last mountpoint. Because, right now, the behavior is
> weird in that we allow umounts to proceed but then let the superblock
> hang onto the block device till s_active is drained. This really
> should be synchronous.
Hum, I'm not sure. I guess Al can give you more qualified answer than me.
Added to CC...
Honza
--
Jan Kara <jack@...e.com>
SUSE Labs, CR
Powered by blists - more mailing lists