Lines Matching defs:lv

355 	struct logical_volume *lv;
368 dm_list_iterate_items(lvseg, &lvl->lv->segments) {
379 lv = seg_lv(lvseg, s);
381 lv->name))
467 if (!lv_remove_with_dependencies(cmd, lvl->lv, force))
744 int lv_has_unknown_segments(const struct logical_volume *lv)
748 dm_list_iterate_items(seg, &lv->segments)
760 if (lv_has_unknown_segments(lvl->lv))
921 struct logical_volume *lv;
998 lv = lvl->lv;
1000 if (!_recalc_extents(&lv->le_count, lv->name, "", old_size,
1004 dm_list_iterate_items(seg, &lv->segments) {
1005 if (!_recalc_extents(&seg->le, lv->name,
1010 if (!_recalc_extents(&seg->len, lv->name,
1015 if (!_recalc_extents(&seg->area_len, lv->name,
1020 if (!_recalc_extents(&seg->extents_copied, lv->name,
1031 lv->name,
1037 lv->name,
1044 (&seg_le(seg, s), lv->name,
1137 if (lv_is_origin(lvl->lv) || lv_is_cow(lvl->lv)) {
1651 if (!strcmp(lvl->lv->name, ptr))
1658 const struct logical_volume *lv)
1663 if (lvl->lv == lv)
1675 if (!strncmp(lvl->lv->lvid.s, lvid->s, sizeof(*lvid)))
1685 return lvl ? lvl->lv : NULL;
1736 struct lv_segment *find_seg_by_le(const struct logical_volume *lv, uint32_t le)
1740 dm_list_iterate_items(seg, &lv->segments)
1747 struct lv_segment *first_seg(const struct logical_volume *lv)
1751 dm_list_iterate_items(seg, &lv->segments)
1790 if (lv_is_cow(lvl->lv))
1802 if (lv_is_visible(lvl->lv))
1866 name1 = lvl1->lv->name;
1869 name2 = lvl2->lv->name;
1904 int (*fn)(struct logical_volume *lv, void *data);
1909 int (*fn)(struct logical_volume *lv, void *data),
1912 static int _lv_postorder_level(struct logical_volume *lv, void *data)
1915 if (lv->status & POSTORDER_OPEN_FLAG)
1917 lv->status |= POSTORDER_OPEN_FLAG;
1918 int r =_lv_postorder_visit(lv, baton->fn, baton->data);
1919 lv->status &= ~POSTORDER_OPEN_FLAG;
1920 lv->status |= POSTORDER_FLAG;
1924 static int _lv_each_dependency(struct logical_volume *lv,
1925 int (*fn)(struct logical_volume *lv, void *data),
1932 lv->snapshot ? lv->snapshot->origin : 0,
1933 lv->snapshot ? lv->snapshot->cow : 0 };
1939 dm_list_iterate_items(lvseg, &lv->segments) {
1950 static int _lv_postorder_cleanup(struct logical_volume *lv, void *data)
1952 if (!(lv->status & POSTORDER_FLAG))
1954 lv->status &= ~POSTORDER_FLAG;
1956 if (!_lv_each_dependency(lv, _lv_postorder_cleanup, data))
1961 static int _lv_postorder_visit(struct logical_volume *lv,
1962 int (*fn)(struct logical_volume *lv, void *data),
1968 if (lv->status & POSTORDER_FLAG)
1973 r = _lv_each_dependency(lv, _lv_postorder_level, &baton);
1975 r = fn(lv, data);
1987 static int _lv_postorder(struct logical_volume *lv,
1988 int (*fn)(struct logical_volume *lv, void *data),
1992 r = _lv_postorder_visit(lv, fn, data);
1993 _lv_postorder_cleanup(lv, 0);
2001 static int _lv_mark_if_partial_collect(struct logical_volume *lv, void *data)
2004 if (lv->status & PARTIAL_LV)
2010 static int _lv_mark_if_partial_single(struct logical_volume *lv, void *data)
2016 dm_list_iterate_items(lvseg, &lv->segments) {
2020 lv->status |= PARTIAL_LV;
2026 _lv_each_dependency(lv, _lv_mark_if_partial_collect, &baton);
2029 lv->status |= PARTIAL_LV;
2034 static int _lv_mark_if_partial(struct logical_volume *lv)
2036 return _lv_postorder(lv, _lv_mark_if_partial_single, NULL);
2046 struct logical_volume *lv;
2050 lv = lvl->lv;
2051 if (!_lv_mark_if_partial(lv))
2061 static int _lv_read_ahead_single(struct logical_volume *lv, void *data)
2063 struct lv_segment *seg = first_seg(lv);
2080 void lv_calculate_readahead(const struct logical_volume *lv, uint32_t *read_ahead)
2084 if (lv->read_ahead == DM_READ_AHEAD_AUTO)
2085 _lv_postorder((struct logical_volume *)lv, _lv_read_ahead_single, &_read_ahead);
2088 log_debug("Calculated readahead of LV %s is %u", lv->name, _read_ahead);
2137 if (lvl->lv->status & VISIBLE_LV)
2141 if (lv_is_cow(lvl->lv))
2145 if (lv_is_origin(lvl->lv) && !lv_is_virtual_origin(lvl->lv))
2175 if (!strcmp(lvl->lv->name, lvl2->lv->name)) {
2177 "%s detected in %s.", lvl->lv->name,
2181 if (id_equal(&lvl->lv->lvid.id[1],
2182 &lvl2->lv->lvid.id[1])) {
2183 if (!id_write_format(&lvl->lv->lvid.id[1], uuid,
2188 uuid, lvl->lv->name, lvl2->lv->name,
2196 if (!check_lv_segments(lvl->lv, 1)) {
2198 lvl->lv->name);
2801 if (!check_lv_segments(lvl->lv, 1)) {
2803 lvl->lv->name);
2918 return lvl->lv;
3641 uint64_t lv_size(const struct logical_volume *lv)
3643 return lv->size;