| To: | Jan Kara <jack@xxxxxxx> |
|---|---|
| Subject: | Re: [PATCH 6/8] xfs: Use generic writers counter instead of m_active_trans counter |
| From: | Eric Sandeen <sandeen@xxxxxxxxxxx> |
| Date: | Fri, 03 Feb 2012 20:42:56 -0600 |
| Cc: | linux-fsdevel@xxxxxxxxxxxxxxx, Dave Chinner <dchinner@xxxxxxxxxx>, Surbhi Palande <csurbhi@xxxxxxxxx>, Kamal Mostafa <kamal@xxxxxxxxxxxxx>, Christoph Hellwig <hch@xxxxxxxxxxxxx>, LKML <linux-kernel@xxxxxxxxxxxxxxx>, xfs@xxxxxxxxxxx, linux-ext4@xxxxxxxxxxxxxxx |
| In-reply-to: | <1327091686-23177-7-git-send-email-jack@xxxxxxx> |
| References: | <1327091686-23177-1-git-send-email-jack@xxxxxxx> <1327091686-23177-7-git-send-email-jack@xxxxxxx> |
| User-agent: | Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:10.0) Gecko/20120129 Thunderbird/10.0 |
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@xxxxxxx>
> ---
...
> 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
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| ||
| Previous by Date: | Re: [PATCH 6/8] xfs: Use generic writers counter instead of m_active_trans counter, Eric Sandeen |
|---|---|
| Next by Date: | Re: [PATCH 1/8] fs: Improve filesystem freezing handling, Eric Sandeen |
| Previous by Thread: | Re: [PATCH 6/8] xfs: Use generic writers counter instead of m_active_trans counter, Eric Sandeen |
| Next by Thread: | Re: [PATCH 6/8] xfs: Use generic writers counter instead of m_active_trans counter, Eric Sandeen |
| Indexes: | [Date] [Thread] [Top] [All Lists] |