Fixed 146672. While it is still possible to see this bug, the problem that I
saw every time it happened to me was that the process in gfs_log_dump() got
starved waiting for the sd_log_lock semaphore. This fix changes sd_log_lock into
a rw_semaphore, and uses down_write and up_write instead of down and up.
read write semaphores are totally fair, so gfs_log_dump() can't get starved