[lvm-devel] [PATCH 01/11] Add mda_slots field for PV info in the cache.
Zdenek Kabelac
zkabelac at redhat.com
Thu Nov 25 13:15:44 UTC 2010
Dne 18.11.2010 22:32, Peter Rajnoha napsal(a):
> The code further needs to access the information about metadata areas
> directly quite often without checking the relative position to other
> metadata areas or data areas. IOW, we need to know directly whether
> there is any metadata area at the start of the disk or at the end of the
> disk or any other position we can think of in the future. This way, I
> know exactly which slots are free, which are occupied and I know the
> relative position to other metadata areas without checking any offsets
> etc.
>
> Using the original list would be quite painful here - either I'd need to
> store the position somewhere or I'll just use this array which seems
> better. Though, the list itself is still there - this is something I'd
> like to discuss... (So I haven't tried to remove the mda_list completely
> yet).
>
> Signed-off-by: Peter Rajnoha <prajnoha at redhat.com>
> ---
> lib/cache/lvmcache.c | 1 +
> lib/cache/lvmcache.h | 2 ++
> 2 files changed, 3 insertions(+), 0 deletions(-)
>
> diff --git a/lib/cache/lvmcache.c b/lib/cache/lvmcache.c
> index 60edcec..d1b6dea 100644
> --- a/lib/cache/lvmcache.c
> +++ b/lib/cache/lvmcache.c
> @@ -1357,6 +1357,7 @@ static void _lvmcache_destroy_entry(struct lvmcache_info *info)
> _vginfo_detach_info(info);
> strcpy(info->dev->pvid, "");
> label_destroy(info->label);
> + dm_free(info->mda_slots);
> dm_free(info);
> }
>
> diff --git a/lib/cache/lvmcache.h b/lib/cache/lvmcache.h
> index 28f8541..32b4579 100644
> --- a/lib/cache/lvmcache.h
> +++ b/lib/cache/lvmcache.h
> @@ -33,6 +33,7 @@
> struct cmd_context;
> struct format_type;
> struct volume_group;
> +struct metadata_area;
I'm not really sure where we are heading with out lvmcache.
I'd like to see rather complete removal of this part of code - once we will
start work on thing like Petr's lvmetad - which would probably completely
eliminate need of any cache.
I think we should keep our lvmcache as simple as we can only to skip repeated
open & read from device - everything else should be kept in higher level.
That could make future removal of this code much easier.
I guess we already break this concept in few place - but we should rather fix
those areas instead of add more hardwired functionality into cache level.
Zdenek
More information about the lvm-devel
mailing list