Re: [PATCH] osd: compute full ratio from kb_avail

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Applied, thanks!

s

On Tue, 17 Sep 2013, Alexandre Oliva wrote:

> On btrfs, kb_used + kb_avail can be much smaller than total kb, and
> what really matters to avoid filling up the disk is how much space is
> available, not how much we've used.  Thus, compute the ratio we use to
> determine full or nearfull from kb_avail rather than from kb_used.
> 
> Signed-off-by: Alexandre Oliva <oliva@xxxxxxx>
> ---
>  src/osd/OSD.cc |    7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)
> 
> diff --git a/src/osd/OSD.cc b/src/osd/OSD.cc
> index 66364ec3..841f1c4 100644
> --- a/src/osd/OSD.cc
> +++ b/src/osd/OSD.cc
> @@ -2457,7 +2457,12 @@ void OSDService::check_nearfull_warning(const osd_stat_t &osd_stat)
>  
>    time_t now = ceph_clock_gettime(NULL);
>  
> -  float ratio = ((float)osd_stat.kb_used) / ((float)osd_stat.kb);
> +  // We base ratio on kb_avail rather than kb_used because they can
> +  // differ significantly e.g. on btrfs volumes with a large number of
> +  // chunks reserved for metadata, and for our purposes (avoiding
> +  // completely filling the disk) it's far more important to know how
> +  // much space is available to use than how much we've already used.
> +  float ratio = ((float)(osd_stat.kb - osd_stat.kb_avail)) / ((float)osd_stat.kb);
>    float nearfull_ratio = get_nearfull_ratio();
>    float full_ratio = get_full_ratio();
>    cur_ratio = ratio;
> 
> -- 
> Alexandre Oliva, freedom fighter    http://FSFLA.org/~lxoliva/
> You must be the change you wish to see in the world. -- Gandhi
> Be Free! -- http://FSFLA.org/   FSF Latin America board member
> Free Software Evangelist      Red Hat Brazil Compiler Engineer
> --
> To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 
> 
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux