summaryrefslogtreecommitdiff
path: root/arch/xtensa/lib/strnlen_user.S
diff options
context:
space:
mode:
authorDave Chinner <dchinner@redhat.com>2011-05-06 02:54:07 +0000
committerAlex Elder <aelder@sgi.com>2011-05-09 12:17:04 -0500
commitfd5670f22fce247754243cf2ed41941e5762d990 (patch)
tree4574bf415df6d3c8a5c501ee3b02727dd573ba03 /arch/xtensa/lib/strnlen_user.S
parentcb64026b6e8af50db598ec7c3f59d504259b00bb (diff)
downloadlinux-next-fd5670f22fce247754243cf2ed41941e5762d990.tar.gz
xfs: make AIL target updates and compares 32bit safe.
The recent conversion of the xfsaild functionality to a work queue introduced a hard-to-hit log space grant hang. One of the problems noticed was that updates of the push target are not 32 bit safe as the target is a 64 bit value. We cannot copy a 64 bit LSN without the possibility of corrupting the result when racing with another updating thread. We have function to do this update safely without needing to care about 32/64 bit issues - xfs_trans_ail_copy_lsn() - so use that when updating the AIL push target. Also move the reading of the target in the push work inside the AIL lock, and use XFS_LSN_CMP() for the unlocked comparison during work termination to close read holes as well. Signed-off-by: Dave Chinner <david@fromorbit.com> Reviewed-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Alex Elder <aelder@sgi.com>
Diffstat (limited to 'arch/xtensa/lib/strnlen_user.S')
0 files changed, 0 insertions, 0 deletions