From: Eric Sandeen <sandeen@sandeen.net>
To: Jan Kara <jack@suse.cz>
Cc: linux-fsdevel@vger.kernel.org, Dave Chinner <dchinner@redhat.com>,
Surbhi Palande <csurbhi@gmail.com>,
Kamal Mostafa <kamal@canonical.com>,
Christoph Hellwig <hch@infradead.org>,
LKML <linux-kernel@vger.kernel.org>,
xfs@oss.sgi.com, linux-ext4@vger.kernel.org
Subject: Re: [PATCH 6/8] xfs: Use generic writers counter instead of m_active_trans counter
Date: Fri, 03 Feb 2012 20:42:56 -0600 [thread overview]
Message-ID: <4F2C9B30.1030902@sandeen.net> (raw)
In-Reply-To: <1327091686-23177-7-git-send-email-jack@suse.cz>
On 1/20/12 2:34 PM, Jan Kara wrote:
> m_active_trans counter is racy wrt filesystem freezing. The patch replaces it
> with generic counter of running transactions which is properly synchronized
> with filesystem freezing. Things are a bit more complex because we need to log
> a dummy transaction and free block counters after the filesystem is frozen so
> we need to pass information to _xfs_trans_alloc() whether the transaction is
> part of filesystem freezing or not.
>
> Signed-off-by: Jan Kara <jack@suse.cz>
> ---
...
> xfs_trans_t *
> _xfs_trans_alloc(
> xfs_mount_t *mp,
> uint type,
> - uint memflags)
> + uint memflags,
> + bool freezing)
> {
> xfs_trans_t *tp;
>
> - atomic_inc(&mp->m_active_trans);
> -
> + if (!freezing)
> + sb_start_write(mp->m_super, SB_FREEZE_TRANS);
> + else
> + WARN_ON(xfs_test_for_freeze(mp) != SB_FREEZE_TRANS);
Hm this could be an issue because for both the umount path and the
freeze / xfs_quiesce_attr path, we call xfs_log_sbcount which sends
"true" for freezing and we'll trip up here because we won't be
in SB_FREEZE_TRANS during umount.
I think we have to push the flag all the way up to xfs_log_sbcount
callers?
-Eric
WARNING: multiple messages have this Message-ID (diff)
From: Eric Sandeen <sandeen@sandeen.net>
To: Jan Kara <jack@suse.cz>
Cc: Surbhi Palande <csurbhi@gmail.com>,
Kamal Mostafa <kamal@canonical.com>,
LKML <linux-kernel@vger.kernel.org>,
xfs@oss.sgi.com, Christoph Hellwig <hch@infradead.org>,
Dave Chinner <dchinner@redhat.com>,
linux-fsdevel@vger.kernel.org, linux-ext4@vger.kernel.org
Subject: Re: [PATCH 6/8] xfs: Use generic writers counter instead of m_active_trans counter
Date: Fri, 03 Feb 2012 20:42:56 -0600 [thread overview]
Message-ID: <4F2C9B30.1030902@sandeen.net> (raw)
In-Reply-To: <1327091686-23177-7-git-send-email-jack@suse.cz>
On 1/20/12 2:34 PM, Jan Kara wrote:
> m_active_trans counter is racy wrt filesystem freezing. The patch replaces it
> with generic counter of running transactions which is properly synchronized
> with filesystem freezing. Things are a bit more complex because we need to log
> a dummy transaction and free block counters after the filesystem is frozen so
> we need to pass information to _xfs_trans_alloc() whether the transaction is
> part of filesystem freezing or not.
>
> Signed-off-by: Jan Kara <jack@suse.cz>
> ---
...
> xfs_trans_t *
> _xfs_trans_alloc(
> xfs_mount_t *mp,
> uint type,
> - uint memflags)
> + uint memflags,
> + bool freezing)
> {
> xfs_trans_t *tp;
>
> - atomic_inc(&mp->m_active_trans);
> -
> + if (!freezing)
> + sb_start_write(mp->m_super, SB_FREEZE_TRANS);
> + else
> + WARN_ON(xfs_test_for_freeze(mp) != SB_FREEZE_TRANS);
Hm this could be an issue because for both the umount path and the
freeze / xfs_quiesce_attr path, we call xfs_log_sbcount which sends
"true" for freezing and we'll trip up here because we won't be
in SB_FREEZE_TRANS during umount.
I think we have to push the flag all the way up to xfs_log_sbcount
callers?
-Eric
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
next prev parent reply other threads:[~2012-02-04 2:42 UTC|newest]
Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-01-20 20:34 [PATCH 0/8] Fix filesystem freezing Jan Kara
2012-01-20 20:34 ` Jan Kara
2012-01-20 20:34 ` [PATCH 1/8] fs: Improve filesystem freezing handling Jan Kara
2012-01-20 20:34 ` Jan Kara
2012-02-04 3:03 ` Eric Sandeen
2012-02-04 3:03 ` Eric Sandeen
2012-02-06 15:17 ` Jan Kara
2012-02-06 15:17 ` Jan Kara
2012-01-20 20:34 ` [PATCH 2/8] vfs: Protect write paths by sb_start_write - sb_end_write Jan Kara
2012-01-20 20:34 ` Jan Kara
2012-01-24 8:21 ` Dave Chinner
2012-01-24 8:21 ` Dave Chinner
2012-01-24 11:44 ` Jan Kara
2012-01-24 11:44 ` Jan Kara
2012-02-05 6:13 ` Eric Sandeen
2012-02-05 6:13 ` Eric Sandeen
2012-02-06 15:33 ` Jan Kara
2012-02-06 15:33 ` Jan Kara
2012-01-20 20:34 ` [PATCH 3/8] ext4: Protect ext4_page_mkwrite & ext4_setattr with " Jan Kara
2012-01-20 20:34 ` Jan Kara
2012-01-20 20:34 ` [PATCH 4/8] xfs: Move ilock before transaction start in xfs_setattr_size() Jan Kara
2012-01-20 20:34 ` Jan Kara
2012-01-24 6:59 ` Dave Chinner
2012-01-24 6:59 ` Dave Chinner
2012-01-24 11:52 ` Jan Kara
2012-01-24 11:52 ` Jan Kara
2012-01-20 20:34 ` [PATCH 5/8] xfs: Protect xfs_file_aio_write() & xfs_setattr_size() with sb_start_write - sb_end_write Jan Kara
2012-01-20 20:34 ` Jan Kara
2012-01-24 7:19 ` Dave Chinner
2012-01-24 7:19 ` Dave Chinner
2012-01-24 19:35 ` Jan Kara
2012-01-24 19:35 ` Jan Kara
2012-02-04 4:30 ` Eric Sandeen
2012-02-04 4:30 ` Eric Sandeen
2012-02-04 4:50 ` Eric Sandeen
2012-02-04 4:50 ` Eric Sandeen
2012-02-05 23:11 ` Dave Chinner
2012-02-05 23:11 ` Dave Chinner
2012-01-20 20:34 ` [PATCH 6/8] xfs: Use generic writers counter instead of m_active_trans counter Jan Kara
2012-01-20 20:34 ` Jan Kara
2012-01-24 8:05 ` Dave Chinner
2012-01-24 8:05 ` Dave Chinner
2012-02-04 2:13 ` Eric Sandeen
2012-02-04 2:13 ` Eric Sandeen
2012-02-04 2:42 ` Eric Sandeen [this message]
2012-02-04 2:42 ` Eric Sandeen
2012-02-04 4:34 ` Eric Sandeen
2012-02-04 4:34 ` Eric Sandeen
2012-01-20 20:34 ` [PATCH 7/8] Documentation: Correct s_umount state for freeze_fs/unfreeze_fs Jan Kara
2012-01-20 20:34 ` Jan Kara
2012-01-20 20:34 ` [PATCH 8/8] vfs: Document s_frozen state through freeze_super Jan Kara
2012-01-20 20:34 ` 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=4F2C9B30.1030902@sandeen.net \
--to=sandeen@sandeen.net \
--cc=csurbhi@gmail.com \
--cc=dchinner@redhat.com \
--cc=hch@infradead.org \
--cc=jack@suse.cz \
--cc=kamal@canonical.com \
--cc=linux-ext4@vger.kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=xfs@oss.sgi.com \
/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.