Re: [PATCH V2 2/2] fs/super.c: don't fool lockdep in freeze_super() and thaw_super() paths

Dave Chinner
2016-10-06T21:59:20Z

On Thu, Oct 06, 2016 at 07:17:58PM +0200, Oleg Nesterov wrote:
> Probably false positive? Although when I look at the comment above xfs_sync_sb()
> I think that may be sometging like below makes sense, but I know absolutely nothing
> about fs/ and XFS in particular.
>
> Oleg.
>
>
> --- x/fs/xfs/xfs_trans.c
> +++ x/fs/xfs/xfs_trans.c
> @@ -245,7 +245,8 @@ xfs_trans_alloc(
> atomic_inc(&mp->m_active_trans);
>
> tp = kmem_zone_zalloc(xfs_trans_zone,
> - (flags & XFS_TRANS_NOFS) ? KM_NOFS : KM_SLEEP);
> + (flags & (XFS_TRANS_NOFS | XFS_TRANS_NO_WRITECOUNT))
> + ? KM_NOFS : KM_SLEEP);
> tp->t_magic = XFS_TRANS_HEADER_MAGIC;
> tp->t_flags = flags;
> tp->t_mountp = mp;

Brief examination says caller should set XFS_TRANS_NOFS, not change
the implementation to make XFS_TRANS_NO_WRITECOUNT flag to also mean
XFS_TRANS_NOFS.

Cheers,

Dave.
--
Dave Chinner
david@fromorbit.com