[PATCH 03/13] xfs: rationalise xfs_mount_wq users

Mark Tinguely tinguely at sgi.com
Tue Sep 4 10:48:17 CDT 2012


On 08/30/12 07:00, Dave Chinner wrote:
> -	/*
> -	 * We shouldn't write/force the log if we are in the mount/unmount
> -	 * process or on a read only filesystem. The workqueue still needs to be
> -	 * active in both cases, however, because it is used for inode reclaim
> -	 * during these times.  Use the MS_ACTIVE flag to avoid doing anything
> -	 * during mount.  Doing work during unmount is avoided by calling
> -	 * cancel_delayed_work_sync on this work queue before tearing down
> -	 * the ail and the log in xfs_log_unmount.
> -	 */
> -	if (!(mp->m_super->s_flags&  MS_ACTIVE)&&
> -	    !(mp->m_flags&  XFS_MOUNT_RDONLY)) {
> +	if (!(mp->m_flags&  XFS_MOUNT_RDONLY)) {
>   		/* dgc: errors ignored here */
>   		if (mp->m_super->s_writers.frozen == SB_UNFROZEN&&
>   		xfs_log_need_covered(mp))
> @@ -408,8 +398,7 @@ xfs_sync_worker(
>   		else
>   			xfs_log_force(mp, 0);
>
> -		/* start pushing all the metadata that is currently
> -		 * dirty */
> +		/* start pushing all the metadata that is currently dirty */
>   		xfs_ail_push_all(mp->m_ail);
>   	}
>

It appears that the removal of the MS_ACTIVE flag is causing the
"atomic_read(&bp->b_hold)>  0," ASSERT.

--Mark.



More information about the xfs mailing list