···36 * Abstraction to handle the meta/layout of exception stores (the37 * COW device).38 */39-struct exception_store {040 /*41 * Destroys this object when you've finished with it.42 */43- void (*destroy) (struct exception_store *store);4445 /*46 * The target shouldn't read the COW device until this is47 * called.48 */49- int (*read_metadata) (struct exception_store *store);5051 /*52 * Find somewhere to store the next exception.53 */54- int (*prepare_exception) (struct exception_store *store,55 struct dm_snap_exception *e);5657 /*58 * Update the metadata with this exception.59 */60- void (*commit_exception) (struct exception_store *store,61 struct dm_snap_exception *e,62 void (*callback) (void *, int success),63 void *callback_context);···66 /*67 * The snapshot is invalid, note this in the metadata.68 */69- void (*drop_snapshot) (struct exception_store *store);7071 /*72 * Return how full the snapshot is.73 */74- void (*fraction_full) (struct exception_store *store,75 sector_t *numerator,76 sector_t *denominator);77···125/*126 * Two exception store implementations.127 */128-int dm_create_persistent(struct exception_store *store);129130-int dm_create_transient(struct exception_store *store);131132#endif /* _LINUX_DM_EXCEPTION_STORE */
···36 * Abstraction to handle the meta/layout of exception stores (the37 * COW device).38 */39+struct dm_exception_store {40+41 /*42 * Destroys this object when you've finished with it.43 */44+ void (*destroy) (struct dm_exception_store *store);4546 /*47 * The target shouldn't read the COW device until this is48 * called.49 */50+ int (*read_metadata) (struct dm_exception_store *store);5152 /*53 * Find somewhere to store the next exception.54 */55+ int (*prepare_exception) (struct dm_exception_store *store,56 struct dm_snap_exception *e);5758 /*59 * Update the metadata with this exception.60 */61+ void (*commit_exception) (struct dm_exception_store *store,62 struct dm_snap_exception *e,63 void (*callback) (void *, int success),64 void *callback_context);···65 /*66 * The snapshot is invalid, note this in the metadata.67 */68+ void (*drop_snapshot) (struct dm_exception_store *store);6970 /*71 * Return how full the snapshot is.72 */73+ void (*fraction_full) (struct dm_exception_store *store,74 sector_t *numerator,75 sector_t *denominator);76···124/*125 * Two exception store implementations.126 */127+int dm_create_persistent(struct dm_exception_store *store);128129+int dm_create_transient(struct dm_exception_store *store);130131#endif /* _LINUX_DM_EXCEPTION_STORE */
+1-1
drivers/md/dm-snap.h
···61 spinlock_t pe_lock;6263 /* The on disk metadata handler */64- struct exception_store store;6566 struct dm_kcopyd_client *kcopyd_client;67
···61 spinlock_t pe_lock;6263 /* The on disk metadata handler */64+ struct dm_exception_store store;6566 struct dm_kcopyd_client *kcopyd_client;67