/* Calculate how many bits we can check in the current word */
bit_offset = b % BITS_PER_LONG;
bits_to_check = min(end - start,
(unsignedint)(BITS_PER_LONG - bit_offset));
/* Create a bitmask for the range of bits to check */ if (bits_to_check >= BITS_PER_LONG)
mask = ~0UL; else
mask = ((1UL << bits_to_check) - 1) << bit_offset;
word = lel_to_cpu(bitmap_le[b / BITS_PER_LONG]);
/* Check if all bits in the mask are set */ if ((word & mask) != mask) returnfalse;
int exfat_clear_bitmap(struct inode *inode, unsignedint clu, bool sync)
{ int i, b; unsignedint ent_idx; struct super_block *sb = inode->i_sb; struct exfat_sb_info *sbi = EXFAT_SB(sb);
if (!is_valid_cluster(sbi, clu)) return -EIO;
ent_idx = CLUSTER_TO_BITMAP_ENT(clu);
i = BITMAP_OFFSET_SECTOR_INDEX(sb, ent_idx);
b = BITMAP_OFFSET_BIT_IN_SECTOR(sb, ent_idx);
if (!test_bit_le(b, sbi->vol_amap[i]->b_data)) return -EIO;
clear_bit_le(b, sbi->vol_amap[i]->b_data);
exfat_update_bh(sbi->vol_amap[i], sync);
return0;
}
/* * If the value of "clu" is 0, it means cluster 2 which is the first cluster of * the cluster heap.
*/ unsignedint exfat_find_free_bitmap(struct super_block *sb, unsignedint clu)
{ unsignedint i, map_i, map_b, ent_idx; unsignedint clu_base, clu_free; unsignedlong clu_bits, clu_mask; struct exfat_sb_info *sbi = EXFAT_SB(sb);
__le_long bitval;
do { if (next_free_clu == trim_end + 1) { /* extend trim range for continuous free cluster */
trim_end++;
} else { /* trim current range if it's larger than trim_minlen */
count = trim_end - trim_begin + 1; if (count >= trim_minlen) {
err = sb_issue_discard(sb,
exfat_cluster_to_sector(sbi, trim_begin),
count * sbi->sect_per_clus, GFP_NOFS, 0); if (err) goto unlock;
trimmed_total += count;
}
/* set next start point of the free hole */
trim_begin = trim_end = next_free_clu;
}
if (next_free_clu >= clu_end) break;
if (fatal_signal_pending(current)) {
err = -ERESTARTSYS; goto unlock;
}
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.16Bemerkung:
(Wie Sie bei der Firma Beratungs- und Dienstleistungen beauftragen können 2026-06-08)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.