Lines Matching refs:asb
115 scan_free_map(struct adfs_sb_info *asb, struct adfs_discmap *dm)
118 const unsigned int idlen = asb->s_idlen;
159 static int scan_map(struct adfs_sb_info *asb, unsigned int zone,
162 const unsigned int idlen = asb->s_idlen;
166 dm = asb->s_map + zone;
167 zone = asb->s_map_size;
168 dm_end = asb->s_map + zone;
178 dm = asb->s_map;
198 struct adfs_sb_info *asb = ADFS_SB(sb);
199 struct adfs_discrecord *dr = adfs_map_discrecord(asb->s_map);
204 dm = asb->s_map;
205 zone = asb->s_map_size;
208 total += scan_free_map(asb, dm++);
212 buf->f_files = asb->s_ids_per_zone * asb->s_map_size;
214 buf->f_bfree = signed_asl(total, asb->s_map2blk);
219 struct adfs_sb_info *asb = ADFS_SB(sb);
228 zone = asb->s_map_size >> 1;
230 zone = frag_id / asb->s_ids_per_zone;
232 if (zone >= asb->s_map_size)
236 mapoff = signed_asl(offset, -asb->s_map2blk);
239 result = scan_map(asb, zone, frag_id, mapoff);
246 secoff = offset - signed_asl(mapoff, asb->s_map2blk);
247 return secoff + signed_asl(result, asb->s_map2blk);
256 frag_id, zone, asb->s_map_size);
358 struct adfs_sb_info *asb = ADFS_SB(sb);
366 asb->s_idlen = dr->idlen;
367 asb->s_map_size = nzones;
368 asb->s_map2blk = dr->log2bpmb - dr->log2secsize;
369 asb->s_log2sharesize = dr->log2sharesize;
370 asb->s_ids_per_zone = zone_size / (asb->s_idlen + 1);
374 map_addr = signed_asl(map_addr, asb->s_map2blk);
403 struct adfs_sb_info *asb = ADFS_SB(sb);
405 adfs_map_relse(asb->s_map, asb->s_map_size);
406 kfree(asb->s_map);