Hi all, Here are a couple of shutdown fixups that fell out of Darrick's recent report of a deadlock problem via generic/475. I've still not been able to reproduce the generic/475 deadlock, but Darrick has tested patch 1 and last I heard reported that the deadlock had not reoccurred. Patch 2 fixes up a buffer leak and reorders the shutdown in the xfs_iflush_cluster() abort codepath. After making a higher level pass across the codebase, there are still places where we technically invoke synchronous log forces (or filesystem shutdowns, which can induce a sync log force) with various object locks held. This isn't always a problem as some are contexts where a buffer should never be pinned, etc. That said, if we want to institute a general policy of never inducing sync log forces or shutdowns from contexts with held locks then I'd suggest that's something we should evolve opportunistically over time. Thoughts, reviews, flames appreciated. Brian Brian Foster (2): xfs: wake commit waiters on CIL abort before log item abort xfs: shutdown after buf release in iflush cluster abort path fs/xfs/xfs_inode.c | 4 +++- fs/xfs/xfs_log_cil.c | 21 +++++++++++++-------- 2 files changed, 16 insertions(+), 9 deletions(-) -- 2.17.2