unsigned int i;
desc = &iter->buffer_desc[block & 0x01];
- device_offset = exfat_c2o(exfat, desc->p_clus) + desc->offset;
for (i = 0; i < iter->read_size / iter->write_size; i++) {
if (desc->dirty[i]) {
+ device_offset = exfat_c2o(exfat, desc->p_clus) +
+ desc->offset;
if (exfat_write(exfat->blk_dev->dev_fd,
desc->buffer + i * iter->write_size,
iter->write_size,
return 0;
}
-static int find_free_cluster(struct exfat *exfat,
+int exfat_find_free_cluster(struct exfat *exfat,
clus_t start, clus_t *new_clu)
{
clus_t end = le32_to_cpu(exfat->bs->bsx.clu_count) +
if ((need_dset && !inode->dentry_set) || inode->is_contiguous)
return -EINVAL;
- err = find_free_cluster(exfat, exfat->start_clu, new_clu);
+ err = exfat_find_free_cluster(exfat, exfat->start_clu, new_clu);
if (err) {
exfat->start_clu = EXFAT_FIRST_CLUSTER;
exfat_err("failed to find an free cluster\n");