diff options
Diffstat (limited to 'lib/misc/lvm-percent.h')
-rw-r--r-- | lib/misc/lvm-percent.h | 38 |
1 files changed, 16 insertions, 22 deletions
diff --git a/lib/misc/lvm-percent.h b/lib/misc/lvm-percent.h index bf30a7e..2ff7199 100644 --- a/lib/misc/lvm-percent.h +++ b/lib/misc/lvm-percent.h @@ -9,36 +9,30 @@ * * You should have received a copy of the GNU Lesser General Public License * along with this program; if not, write to the Free Software Foundation, - * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef _LVM_PERCENT_H #define _LVM_PERCENT_H #include <stdint.h> -/* - * A fixed-point representation of percent values. One percent equals to - * PERCENT_1 as defined below. Values that are not multiples of PERCENT_1 - * represent fractions, with precision of 1/1000000 of a percent. See - * percent_to_float for a conversion to a floating-point representation. - * - * You should always use make_percent when building percent_t values. The - * implementation of make_percent is biased towards the middle: it ensures that - * the result is PERCENT_0 or PERCENT_100 if and only if this is the actual - * value -- it never rounds any intermediate value (> 0 or < 100) to either 0 - * or 100. - */ -typedef int32_t percent_t; +typedef enum { + SIGN_NONE = 0, + SIGN_PLUS = 1, + SIGN_MINUS = 2 +} sign_t; typedef enum { - PERCENT_0 = 0, - PERCENT_1 = 1000000, - PERCENT_100 = 100 * PERCENT_1, - PERCENT_INVALID = -1, - PERCENT_MERGE_FAILED = -2 -} percent_range_t; + PERCENT_NONE = 0, + PERCENT_VG, + PERCENT_FREE, + PERCENT_LV, + PERCENT_PVS, + PERCENT_ORIGIN +} percent_type_t; + +#define LVM_PERCENT_MERGE_FAILED DM_PERCENT_FAILED -float percent_to_float(percent_t v); -percent_t make_percent(uint64_t numerator, uint64_t denominator); +uint32_t percent_of_extents(uint32_t percents, uint32_t count, int roundup); #endif |