xfs: memory barrier before wake_up_bit()
authorAlex Elder <elder@inktank.com>
Mon, 4 Feb 2013 16:13:11 +0000 (10:13 -0600)
committerBen Myers <bpm@sgi.com>
Thu, 7 Feb 2013 15:39:48 +0000 (09:39 -0600)
commit311f08acde635e4e5ccea9b9d8c856cc2e0ced95
tree8da8990b565b1d8c269ba20bf964d9115ac619cc
parenta21cd503678286c56b1d0cca1c99349a4aa042f4
xfs: memory barrier before wake_up_bit()

In xfs_ifunlock() there is a call to wake_up_bit() after clearing
the flush lock on the xfs inode.  This is not guaranteed to be safe,
as noted in the comments above wake_up_bit() beginning with:

    In order for this to function properly, as it uses
    waitqueue_active() internally, some kind of memory
    barrier must be done prior to calling this.

Signed-off-by: Alex Elder <elder@inktank.com>
Reviewed-by: Dave Chinner <david@fromorbit.com>
Signed-off-by: Ben Myers <bpm@sgi.com>
fs/xfs/xfs_inode.h