diff options
author | Bryn M. Reeves <bmr@redhat.com> | 2016-12-15 20:10:27 +0000 |
---|---|---|
committer | Bryn M. Reeves <bmr@redhat.com> | 2017-03-09 18:50:15 +0000 |
commit | 8b78982297bb9c8484f8add7fdf96e93c8238769 (patch) | |
tree | e2d1f4bde9221b9b8a52d04bea7da6794fe258fb /libdm/.exported_symbols.DM_1_02_138 | |
parent | c98868181fa3ee0816d525ef186c1059a46f1d0b (diff) | |
download | lvm2-8b78982297bb9c8484f8add7fdf96e93c8238769.tar.gz |
daemons: add dmfilemapd
Add a daemon that can be launched to monitor a group of regions
corresponding to the extents of a file, and to update the regions as the
file's allocation changes.
The daemon is intended to be started from a library interface, but can
also be run from the command line:
dmfilemapd <fd> <group_id> <path> <mode> [<foreground>[<log_level>]]
Where fd is a file descriptor open on the mapped file, group_id is the
group identifier of the mapped group and mode is either "inode" or
"path". E.g.:
# dmfilemapd 3 0 vm.img inode 1 3 3<vm.img
...
If foreground is non-zero, the daemon will not fork to run in the
background. If verbose is non-zero, libdm and daemon log messages will
be printed.
It is possible for the group identifier to change when regions are
re-mapped: this occurs when the group leader is deleted (regroup=1 in
dm_stats_update_regions_from_fd()), and another region is created before
the daemon has a chance to recreate the leader region.
The operation is inherently racey since there is currently no way to
atomically move or resize a dm_stats region while retaining its
region_id.
Detect this condition and update the group_id value stored in the
filemap monitor.
A function is also provided in the the stats API to launch the filemap
monitoring daemon:
int dm_stats_start_filemapd(int fd, uint64_t group_id, const char *path,
dm_filemapd_mode_t mode, unsigned foreground,
unsigned verbose);
This carries out the first fork and execs dmfilemapd with the arguments
specified.
A dm_filemapd_mode_t value is specified by the mode argument: either
DM_FILEMAPD_FOLLOW_INODE, or DM_FILEMAPD_FOLLOW_PATH. A helper function,
dm_filemapd_mode_from_string(), is provided to parse a string containing
a valid mode name into the appropriate dm_filemapd_mode_t value.
Diffstat (limited to 'libdm/.exported_symbols.DM_1_02_138')
-rw-r--r-- | libdm/.exported_symbols.DM_1_02_138 | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/libdm/.exported_symbols.DM_1_02_138 b/libdm/.exported_symbols.DM_1_02_138 index 6d658b920..0468294e4 100644 --- a/libdm/.exported_symbols.DM_1_02_138 +++ b/libdm/.exported_symbols.DM_1_02_138 @@ -1,6 +1,8 @@ dm_bit_get_last dm_bit_get_prev +dm_filemapd_mode_from_string dm_stats_update_regions_from_fd dm_bitset_parse_list dm_stats_bind_from_fd +dm_stats_start_filemapd dm_tree_node_add_raid_target_with_params_v2 |