Changes in / [eb40d86:cc8044e] in mainline


Ignore:
Files:
18 deleted
3 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/fs/mfs/mfs.h

    reb40d86 rcc8044e  
    4444#include <errno.h>
    4545#include <assert.h>
    46 #include <stdbool.h>
    4746#include "../../vfs/vfs.h"
    4847
     
    106105        unsigned isearch;
    107106        unsigned zsearch;
    108 
    109         bool nfree_zones_valid;
    110         unsigned nfree_zones;
    111107};
    112108
  • uspace/srv/fs/mfs/mfs_balloc.c

    reb40d86 rcc8044e  
    8888{
    8989        int r = mfs_alloc_bit(inst, zone, BMAP_ZONE);
    90         if (r != EOK)
    91                 return r;
    92 
    93         /* Update the cached number of free zones */
    94         struct mfs_sb_info *sbi = inst->sbi;
    95         if (sbi->nfree_zones_valid)
    96                 sbi->nfree_zones--;
    9790
    9891        *zone += inst->sbi->firstdatazone - 1;
     
    110103mfs_free_zone(struct mfs_instance *inst, uint32_t zone)
    111104{
    112         int r;
    113 
    114105        zone -= inst->sbi->firstdatazone - 1;
    115106
    116         r = mfs_free_bit(inst, zone, BMAP_ZONE);
    117         if (r != EOK)
    118                 return r;
    119 
    120         /* Update the cached number of free zones */
    121         struct mfs_sb_info *sbi = inst->sbi;
    122         if (sbi->nfree_zones_valid)
    123                 sbi->nfree_zones++;
    124 
    125         return r;
     107        return mfs_free_bit(inst, zone, BMAP_ZONE);
    126108}
    127109
  • uspace/srv/fs/mfs/mfs_ops.c

    reb40d86 rcc8044e  
    216216        sbi->isearch = 0;
    217217        sbi->zsearch = 0;
    218         sbi->nfree_zones_valid = false;
    219         sbi->nfree_zones = 0;
    220218
    221219        if (version == MFS_VERSION_V3) {
     
    11831181                return rc;
    11841182
    1185         struct mfs_sb_info *sbi = inst->sbi;
    1186 
    1187         if (!sbi->nfree_zones_valid) {
    1188                 /* The cached number of free zones is not valid,
    1189                  * we need to scan the bitmap to retrieve the
    1190                  * current value.
    1191                  */
    1192 
    1193                 rc = mfs_count_free_zones(inst, &block_free);
    1194                 if (rc != EOK)
    1195                         return rc;
    1196 
    1197                 sbi->nfree_zones = block_free;
    1198                 sbi->nfree_zones_valid = true;
    1199         }
    1200 
    1201         *count = sbi->nfree_zones;
     1183        rc = mfs_count_free_zones(inst, &block_free);
     1184        *count = block_free;
    12021185
    12031186        return rc;
Note: See TracChangeset for help on using the changeset viewer.