• Home
  • Raw
  • Download

Lines Matching +full:disk +full:- +full:activity

6    Copyright (C) 2003-2008, LINBIT Information Technologies GmbH.
7 Copyright (C) 2003-2008, Philipp Reisner <philipp.reisner@linbit.com>.
8 Copyright (C) 2003-2008, Lars Ellenberg <lars.ellenberg@linbit.com>.
36 This header file (and its .c file; kernel-doc of functions see there)
51 We replicate IO (more or less synchronously) to local and remote disk.
54 we need to resync all regions that have been target of in-flight WRITE IO
60 This is known as "write intent log", and can be implemented as on-disk
65 in-flight WRITE IO, e.g. by only lazily clearing the on-disk write-intent
76 [*] usually as a result of a cluster split-brain and insufficient protection.
80 Having it fine-grained reduces the amount of resync traffic.
88 The on-disk "dirty bitmap" may be re-used as "write-intent" bitmap as well.
89 To reduce the frequency of bitmap updates for write-intent log purposes,
91 on-disk bitmap, while keeping the in-memory "dirty" bitmap as clean as
92 possible, flushing it to disk again when a previously "hot" (and on-disk
98 for write-intent log purposes, additionally to the fine grained dirty bitmap.
100 "Activity log"
111 change itself (index: -old_label, +new_label), and which index is associated
122 This is what we call the "activity log".
124 Currently we need one activity log transaction per single label change, which
130 the bitmap into one transaction to the activity log ring buffer.
136 * region number (label) easily. To do the label -> object lookup without a
154 * them, as the change "index: -old_label, +LC_FREE" would need a transaction
163 /* back "pointer" into lc_cache->element[index],
177 /* the least recently used item is kept at lru->prev */
183 /* the pre-created kmem cache to allocate the objects from */
210 /* see below: flag-bits for lru_cache */
223 /* flag-bits for lru_cache */
273 * lc_try_lock_for_transaction - can be used to stop lc_get() from changing the tracked set
282 return !test_and_set_bit(__LC_LOCKED, &lc->flags); in lc_try_lock_for_transaction()
286 * lc_try_lock - variant to stop lc_get() from changing the tracked set
297 * lc_unlock - unlock @lc, allow lc_get() to change the set again
302 clear_bit(__LC_DIRTY, &lc->flags); in lc_unlock()
303 clear_bit_unlock(__LC_LOCKED, &lc->flags); in lc_unlock()