All of lore.kernel.org
 help / color / mirror / Atom feed
From: Petr Rockai <prockai@redhat.com>
To: lvm-devel@redhat.com
Subject: [PATCH 3/8] Add lv_read_ahead and lv_kernel_read_ahead 'get' functions.
Date: Wed, 20 Oct 2010 23:43:03 +0200	[thread overview]
Message-ID: <871v7ka6c8.fsf@twilight.int.mornfall.net.> (raw)
In-Reply-To: <1287487975-26572-4-git-send-email-dwysocha@redhat.com> (Dave Wysochanski's message of "Tue, 19 Oct 2010 07:32:50 -0400")

Dave Wysochanski <dwysocha@redhat.com> writes:

> Signed-off-by: Dave Wysochanski <dwysocha@redhat.com>
Reviewed-by: Petr Rockai <prockai@redhat.com>

Looks OK.

> diff --git a/lib/metadata/lv.c b/lib/metadata/lv.c
> index 9cd5bf8..b7a8700 100644
> --- a/lib/metadata/lv.c
> +++ b/lib/metadata/lv.c
> @@ -20,6 +20,15 @@
>  #include "segtype.h"
>  #include "str_list.h"
>  
> +uint32_t lv_kernel_read_ahead(const struct logical_volume *lv)
> +{
> +	struct lvinfo info;
> +
> +	if (!lv_info(lv->vg->cmd, lv, 0, &info, 0, 1) || !info.exists)
> +		return UINT32_MAX;
> +	return info.read_ahead;
> +}
> +
>  char *lv_origin_dup(struct dm_pool *mem, const struct logical_volume *lv)
>  {
>  	if (lv_is_cow(lv))
> diff --git a/lib/metadata/lv.h b/lib/metadata/lv.h
> index 1767551..d77c362 100644
> --- a/lib/metadata/lv.h
> +++ b/lib/metadata/lv.h
> @@ -62,5 +62,6 @@ char *lv_mirror_log_dup(struct dm_pool *mem, const struct logical_volume *lv);
>  char *lv_modules_dup(struct dm_pool *mem, const struct logical_volume *lv);
>  char *lv_name_dup(struct dm_pool *mem, const struct logical_volume *lv);
>  char *lv_origin_dup(struct dm_pool *mem, const struct logical_volume *lv);
> +uint32_t lv_kernel_read_ahead(const struct logical_volume *lv);
>  
>  #endif
> diff --git a/lib/report/properties.c b/lib/report/properties.c
> index 250c7c9..587f11d 100644
> --- a/lib/report/properties.c
> +++ b/lib/report/properties.c
> @@ -109,13 +109,13 @@ GET_LV_NUM_PROPERTY_FN(lv_major, lv->major)
>  #define _lv_major_set _not_implemented_set
>  GET_LV_NUM_PROPERTY_FN(lv_minor, lv->minor)
>  #define _lv_minor_set _not_implemented_set
> -#define _lv_read_ahead_get _not_implemented_get
> +GET_LV_NUM_PROPERTY_FN(lv_read_ahead, lv->read_ahead * SECTOR_SIZE)
>  #define _lv_read_ahead_set _not_implemented_set
>  GET_LV_NUM_PROPERTY_FN(lv_kernel_major, lv_kernel_major(lv))
>  #define _lv_kernel_major_set _not_implemented_set
>  GET_LV_NUM_PROPERTY_FN(lv_kernel_minor, lv_kernel_minor(lv))
>  #define _lv_kernel_minor_set _not_implemented_set
> -#define _lv_kernel_read_ahead_get _not_implemented_get
> +GET_LV_NUM_PROPERTY_FN(lv_kernel_read_ahead, lv_kernel_read_ahead(lv) * SECTOR_SIZE)
>  #define _lv_kernel_read_ahead_set _not_implemented_set
>  GET_LV_NUM_PROPERTY_FN(lv_size, lv->size * SECTOR_SIZE)
>  #define _lv_size_set _not_implemented_set
> diff --git a/lib/report/report.c b/lib/report/report.c
> index 9d86b12..dbeef21 100644
> --- a/lib/report/report.c
> +++ b/lib/report/report.c
> @@ -470,12 +470,12 @@ static int _lvkreadahead_disp(struct dm_report *rh, struct dm_pool *mem,
>  			      void *private)
>  {
>  	const struct logical_volume *lv = (const struct logical_volume *) data;
> -	struct lvinfo info;
> +	uint32_t read_ahead;
>  
> -	if (!lv_info(lv->vg->cmd, lv, 0, &info, 0, 1) || !info.exists)
> +	if ((read_ahead = lv_kernel_read_ahead(lv)) == UINT32_MAX)
>  		return dm_report_field_int32(rh, field, &_minusone32);
>  
> -	return _size32_disp(rh, mem, field, &info.read_ahead, private);
> +	return _size32_disp(rh, mem, field, &read_ahead, private);
>  }
>  
>  static int _vgsize_disp(struct dm_report *rh, struct dm_pool *mem,



  reply	other threads:[~2010-10-20 21:43 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-10-19 11:32 [PATCH 00/08] Add lvm lv properties for lvm2app, return struct Dave Wysochanski
2010-10-19 11:32 ` [PATCH 1/8] Refactor and add code for (lv) 'lv_name' get function Dave Wysochanski
2010-10-20 21:31   ` Petr Rockai
2010-10-19 11:32 ` [PATCH 2/8] Refactor and add code for (lv) 'lv_origin' " Dave Wysochanski
2010-10-20 21:41   ` Petr Rockai
2010-10-21 14:38     ` Dave Wysochanski
2010-10-19 11:32 ` [PATCH 3/8] Add lv_read_ahead and lv_kernel_read_ahead 'get' functions Dave Wysochanski
2010-10-20 21:43   ` Petr Rockai [this message]
2010-10-19 11:32 ` [PATCH 4/8] Rename fields in lvm_property_type Dave Wysochanski
2010-10-20 21:45   ` Petr Rockai
2010-10-19 11:32 ` [PATCH 5/8] Add lvm_vg_get_property() generic vg property function Dave Wysochanski
2010-10-20 21:51   ` Petr Rockai
2010-10-21 18:39     ` Dave Wysochanski
2010-10-24 12:04       ` Petr Rockai
2010-10-25 13:55         ` Dave Wysochanski
2010-10-19 11:32 ` [PATCH 6/8] Add lvm_pv_get_property() generic function to obtain value of any pv property Dave Wysochanski
2010-10-20 21:54   ` Petr Rockai
2010-10-19 11:32 ` [PATCH 7/8] Add lvm_lv_get_property() generic function to obtain value of any lv property Dave Wysochanski
2010-10-20 21:55   ` Petr Rockai
2010-10-19 11:32 ` [PATCH 8/8] Add interactive tests for lvm_{pv|vg|lv}_get_property() Dave Wysochanski
2010-10-20 21:57   ` Petr Rockai
  -- strict thread matches above, loose matches on Subject: below --
2010-10-19  4:02 [PATCH 00/08] Add lvm lv properties for lvm2app Dave Wysochanski
2010-10-19  4:02 ` [PATCH 3/8] Add lv_read_ahead and lv_kernel_read_ahead 'get' functions Dave Wysochanski

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=871v7ka6c8.fsf@twilight.int.mornfall.net. \
    --to=prockai@redhat.com \
    --cc=lvm-devel@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.