Hi folks, This started out as one patch to get rid of log item descriptors, then turned into an onion peeling exercise as it uncovered other problems. The series converts the log item flags to atomic ops so they can be updated in different locking contexts safely - XFS_LI_FAILED introduced a requirement for changing and checking under the AIL lock, and we don't do that in many places. This gets worse with the last patch in the series where I get rid of log item descriptors, which moves the XFS_LI_LOGGED flag out of the descriptor and into the log item itself, meaning the li_flags field either needs ti's own lock or is updated atomically. I chose the latter because we've got enough locks already and the available atomic operations cover all the atomic logic checks we need. In doing this, I kept hitting assert failures with the AIL lock held, leading to unrecoverable hangs and a patch to avoid that. I found inodes multiply joined to single transactions, so there's patches to fix that. I needed high level transaction tracing to work out where stuff was going wrong, so there's a patch for that. I added some more assert checks to log items to catch wacky cases that occurred but weren't caught while debugging the code. So, really, the first and last patches in the series were the only ones I intended to write - the rest were a result of pre-existing bugs I found and the code I needed to track them down.... Cheers, Dave. -- To unsubscribe from this list: send the line "unsubscribe linux-xfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html