1JOURNAL_LOCK_UPDATES(9) The Linux Journalling API JOURNAL_LOCK_UPDATES(9)
2
3
4
6 journal_lock_updates - establish a transaction barrier.
7
9 void journal_lock_updates(journal_t * journal);
10
12 journal
13 Journal to establish a barrier on.
14
16 This locks out any further updates from being started, and blocks until
17 all existing updates have completed, returning only once the journal is
18 in a quiescent state with no updates running.
19
20 We do not use simple mutex for synchronization as there are syscalls
21 which want to return with filesystem locked and that trips up lockdep.
22 Also hibernate needs to lock filesystem but locked mutex then blocks
23 hibernation. Since locking filesystem is rare operation, we use simple
24 counter and waitqueue for locking.
25
27 Roger Gammans <rgammans@computer-surgery.co.uk>
28 Author.
29
30 Stephen Tweedie <sct@redhat.com>
31 Author.
32
34Kernel Hackers Manual 2.6. June 2019 JOURNAL_LOCK_UPDATES(9)