JOURNAL_LOCK_UPDATES(9) The Linux Journalling API JOURNAL_LOCK_UPDATES(9)NAMEjournal_lock_updates - establish a transaction barrier.
SYNOPSIS
void journal_lock_updates(journal_t * journal);
ARGUMENTS
journal
Journal to establish a barrier on.
DESCRIPTION
This locks out any further updates from being started, and blocks until
all existing updates have completed, returning only once the journal is
in a quiescent state with no updates running.
We do not use simple mutex for synchronization as there are syscalls
which want to return with filesystem locked and that trips up lockdep.
Also hibernate needs to lock filesystem but locked mutex then blocks
hibernation. Since locking filesystem is rare operation, we use simple
counter and waitqueue for locking.
AUTHORS
Roger Gammans <rgammans@computer-surgery.co.uk>
Author.
Stephen Tweedie <sct@redhat.com>
Author.
COPYRIGHTKernel Hackers Manual 3.11 November 2013 JOURNAL_LOCK_UPDATES(9)