Lines Matching refs:cluster_num
891 static inline off_t cluster2sector(BDRVVVFATState* s, uint32_t cluster_num) in cluster2sector() argument
893 return s->offset_to_root_dir + s->sectors_per_cluster * cluster_num; in cluster2sector()
1319 static inline int find_mapping_for_cluster_aux(BDRVVVFATState* s,int cluster_num,int index1,int ind… in find_mapping_for_cluster_aux() argument
1327 if(mapping->begin>=cluster_num) { in find_mapping_for_cluster_aux()
1334 return mapping->end<=cluster_num ? index2 : index1; in find_mapping_for_cluster_aux()
1339 assert(mapping->begin<=cluster_num); in find_mapping_for_cluster_aux()
1342 mapping->end>cluster_num))); in find_mapping_for_cluster_aux()
1346 static inline mapping_t* find_mapping_for_cluster(BDRVVVFATState* s,int cluster_num) in find_mapping_for_cluster() argument
1348 int index=find_mapping_for_cluster_aux(s,cluster_num,0,s->mapping.next); in find_mapping_for_cluster()
1353 if(mapping->begin>cluster_num) in find_mapping_for_cluster()
1355 assert(mapping->begin<=cluster_num && mapping->end>cluster_num); in find_mapping_for_cluster()
1378 static inline int read_cluster(BDRVVVFATState *s,int cluster_num) in read_cluster() argument
1380 if(s->current_cluster != cluster_num) { in read_cluster()
1385 || s->current_mapping->begin>cluster_num in read_cluster()
1386 || s->current_mapping->end<=cluster_num) { in read_cluster()
1388 mapping_t* mapping=find_mapping_for_cluster(s,cluster_num); in read_cluster()
1390 assert(!mapping || (cluster_num>=mapping->begin && cluster_num<mapping->end)); in read_cluster()
1396 offset = s->cluster_size*(cluster_num-s->current_mapping->begin); in read_cluster()
1401 s->current_cluster = cluster_num; in read_cluster()
1413 ((cluster_num - s->current_mapping->begin) in read_cluster()
1423 s->current_cluster = cluster_num; in read_cluster()
1526 cluster_num=sector/s->sectors_per_cluster; in vvfat_read() local
1527 if(cluster_num > s->cluster_count || read_cluster(s, cluster_num) != 0) { in vvfat_read()
1803 cluster_was_modified(BDRVVVFATState *s, uint32_t cluster_num) in cluster_was_modified() argument
1814 (cluster2sector(s, cluster_num) + in cluster_was_modified()
1882 uint32_t cluster_num = begin_of_direntry(direntry); in get_cluster_count_for_direntry() local
1890 if (cluster_num == 0) in get_cluster_count_for_direntry()
1897 mapping = find_mapping_for_cluster(s, cluster_num); in get_cluster_count_for_direntry()
1911 schedule_rename(s, cluster_num, g_strdup(path)); in get_cluster_count_for_direntry()
1914 schedule_new_file(s, g_strdup(path), cluster_num); in get_cluster_count_for_direntry()
1923 if (!copy_it && cluster_was_modified(s, cluster_num)) { in get_cluster_count_for_direntry()
1925 mapping->begin > cluster_num || in get_cluster_count_for_direntry()
1926 mapping->end <= cluster_num) in get_cluster_count_for_direntry()
1927 mapping = find_mapping_for_cluster(s, cluster_num); in get_cluster_count_for_direntry()
1935 * ((cluster_num - mapping->begin) in get_cluster_count_for_direntry()
1963 int64_t offs = cluster2sector(s, cluster_num); in get_cluster_count_for_direntry()
1992 if (s->used_clusters[cluster_num] & USED_ANY) in get_cluster_count_for_direntry()
1994 s->used_clusters[cluster_num] = USED_FILE; in get_cluster_count_for_direntry()
1996 cluster_num = modified_fat_get(s, cluster_num); in get_cluster_count_for_direntry()
1998 if (fat_eof(s, cluster_num)) in get_cluster_count_for_direntry()
2000 else if (cluster_num < 2 || cluster_num > s->max_fat_value - 16) in get_cluster_count_for_direntry()
2013 check_directory_consistency(BDRVVVFATState *s, int cluster_num, const char* path) in check_directory_consistency() argument
2018 mapping_t* mapping = find_mapping_for_cluster(s, cluster_num); in check_directory_consistency()
2039 schedule_rename(s, cluster_num, g_strdup(path)); in check_directory_consistency()
2042 schedule_mkdir(s, cluster_num, g_strdup(path)); in check_directory_consistency()
2051 if (s->used_clusters[cluster_num] & USED_ANY) { in check_directory_consistency()
2052 fprintf(stderr, "cluster %d used more than once\n", (int)cluster_num); in check_directory_consistency()
2055 s->used_clusters[cluster_num] = USED_DIRECTORY; in check_directory_consistency()
2057 …printf(stderr, "read cluster %d (sector %d)\n", (int)cluster_num, (int)cluster2sector(s, cluster_n… in check_directory_consistency()
2058 subret = vvfat_read(s->bs, cluster2sector(s, cluster_num), cluster, in check_directory_consistency()
2131 cluster_num = modified_fat_get(s, cluster_num); in check_directory_consistency()
2132 } while(!fat_eof(s, cluster_num)); in check_directory_consistency()