Sync works like this:
1. If the update-lock is already set, just return.
2. Set the lock
3. Write any superblocks that are marked as modified
4. Wirte any inodes that are marked as needing update
5. Clear the lock.
5 Write all the dirty blocks in the buffer cache (which it does at spl6());
Once it returned you should be good to go. The only time typing multiple ones helps is
if there was other activity going on while you were trying to do all this.