diff options
author | Dan McGee <dan@archlinux.org> | 2011-02-11 10:49:30 -0600 |
---|---|---|
committer | Dan McGee <dan@archlinux.org> | 2011-02-11 10:51:59 -0600 |
commit | 30f338cce6ebcab5dc521f5effef4c6527e8a197 (patch) | |
tree | 1bbb5b8d29e1cd2c2777bae209d0cc81b4322b77 /lib/libalpm/diskspace.h | |
parent | 3afe3b6dfb928200166f348964de24e3f7188568 (diff) | |
download | pacman-30f338cce6ebcab5dc521f5effef4c6527e8a197.tar.xz |
diskspace: allow used flag to be toggled for both remove and install
Turn it into an enum rather than a boolean, and use a bitmask like we do for
reading DB entries. The relevant flag is turned on in our two calculate
loops, and anything reading the used flag later can decided which flag (or
either) is relevant.
This will allow the read-only partition code to be triggered on a
remove-only operation, e.g. if /boot was read-only and one tried to remove
grub in a sync transaction. Of course, right now, we don't actually run the
diskspace check code in the '-R' codepath.
Signed-off-by: Dan McGee <dan@archlinux.org>
Diffstat (limited to 'lib/libalpm/diskspace.h')
-rw-r--r-- | lib/libalpm/diskspace.h | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/lib/libalpm/diskspace.h b/lib/libalpm/diskspace.h index 7c7dcebd..2894a0c2 100644 --- a/lib/libalpm/diskspace.h +++ b/lib/libalpm/diskspace.h @@ -29,6 +29,11 @@ #include "alpm.h" +enum mount_used_level { + USED_REMOVE = 1, + USED_INSTALL = (1 << 1), +}; + typedef struct __alpm_mountpoint_t { /* mount point information */ char *mount_dir; @@ -36,7 +41,7 @@ typedef struct __alpm_mountpoint_t { /* storage for additional disk usage calculations */ long blocks_needed; long max_blocks_needed; - int used; + enum mount_used_level used; int read_only; FSSTATSTYPE fsp; } alpm_mountpoint_t; |