We need to hold the interlock when we check v_flags, so do so.
TryToSmush is sometimes called with the vnode already locked,
as the current code appears to hold the vnode lock for the
current working directory (which is probably a bug). Check if
the lock is already held (panic if someone else has it!), and
unlock as appropriate when we're done.