[PATCH] xfs: use s_umount sema in xfs_sync_worker

Ben Myers bpm at sgi.com
Tue May 15 14:06:54 CDT 2012


On Tue, May 15, 2012 at 01:30:46PM -0500, Mark Tinguely wrote:
> 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>

Thanks Mark.  xfstests ran in a loop overnight and is still going, so I'm
satisfied.

Signed-off-by: Ben Myers <bpm at sgi.com>



More information about the xfs mailing list