xfs
[Top] [All Lists]

Re: [PATCH] xfs: use s_umount sema in xfs_sync_worker

To: Ben Myers <bpm@xxxxxxx>
Subject: Re: [PATCH] xfs: use s_umount sema in xfs_sync_worker
From: Mark Tinguely <tinguely@xxxxxxx>
Date: Tue, 15 May 2012 13:30:46 -0500
Cc: xfs@xxxxxxxxxxx
In-reply-to: <20120514203449.GE16099@xxxxxxx>
References: <20120323174327.GU7762@xxxxxxx> <20120514203449.GE16099@xxxxxxx>
User-agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:9.0) Gecko/20120122 Thunderbird/9.0
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@xxxxxxx>

<Prev in Thread] Current Thread [Next in Thread>