[PATCH] xfs: use s_umount sema in xfs_sync_worker

Mark Tinguely tinguely at sgi.com
Tue May 15 13:30:46 CDT 2012


On 05/14/12 15:34, Ben Myers wrote:

> Protect xfs_sync_worker by using the s_umount semaphore at the read level to
> provide exclusion with unmount while work is progressing.
>

> -			xfs_log_force(mp, 0);
> +	if (down_read_trylock(&mp->m_super->s_umount)) {

Okay, the s_umount has down_write() performed upon it when it is
created and does not do a up_write until the filesystem mount is
complete.

This test is just like the one in grab_super_passive(). The if
statements have to be separated to know to do the corresponding
up_read().

> +		if (!(mp->m_flags&  XFS_MOUNT_RDONLY)) {
...
> +		up_read(&mp->m_super->s_umount);

Looks good.

Reveiewed-by: Mark Tinguely <tinguely at sgi.com>



More information about the xfs mailing list