Lines Matching refs:mydata
154 static int flush_dirty_fat_buffer(fsdata *mydata);
157 int flush_dirty_fat_buffer(fsdata *mydata) in flush_dirty_fat_buffer() argument
159 (void)(mydata); in flush_dirty_fat_buffer()
168 static __u32 get_fatent(fsdata *mydata, __u32 entry) in get_fatent() argument
174 if (CHECK_CLUST(entry, mydata->fatsize)) { in get_fatent()
179 switch (mydata->fatsize) { in get_fatent()
199 mydata->fatsize, entry, entry, offset, offset); in get_fatent()
202 if (bufnum != mydata->fatbufnum) { in get_fatent()
204 __u8 *bufptr = mydata->fatbuf; in get_fatent()
205 __u32 fatlength = mydata->fatlength; in get_fatent()
212 startblock += mydata->fat_sect; /* Offset from start of disk */ in get_fatent()
215 if (flush_dirty_fat_buffer(mydata) < 0) in get_fatent()
222 mydata->fatbufnum = bufnum; in get_fatent()
226 switch (mydata->fatsize) { in get_fatent()
228 ret = FAT2CPU32(((__u32 *) mydata->fatbuf)[offset]); in get_fatent()
231 ret = FAT2CPU16(((__u16 *) mydata->fatbuf)[offset]); in get_fatent()
236 ret = mydata->fatbuf[off8] + (mydata->fatbuf[off8 + 1] << 8); in get_fatent()
243 mydata->fatsize, ret, entry, offset); in get_fatent()
253 get_cluster(fsdata *mydata, __u32 clustnum, __u8 *buffer, unsigned long size) in get_cluster() argument
260 startsect = clust_to_sect(mydata, clustnum); in get_cluster()
262 startsect = mydata->rootdir_sect; in get_cluster()
268 ALLOC_CACHE_ALIGN_BUFFER(__u8, tmpbuf, mydata->sect_size); in get_cluster()
272 while (size >= mydata->sect_size) { in get_cluster()
279 memcpy(buffer, tmpbuf, mydata->sect_size); in get_cluster()
280 buffer += mydata->sect_size; in get_cluster()
281 size -= mydata->sect_size; in get_cluster()
284 idx = size / mydata->sect_size; in get_cluster()
291 idx *= mydata->sect_size; in get_cluster()
296 ALLOC_CACHE_ALIGN_BUFFER(__u8, tmpbuf, mydata->sect_size); in get_cluster()
318 static int get_contents(fsdata *mydata, dir_entry *dentptr, loff_t pos, in get_contents() argument
322 unsigned int bytesperclust = mydata->clust_size * mydata->sect_size; in get_contents()
344 curclust = get_fatent(mydata, curclust); in get_contents()
345 if (CHECK_CLUST(curclust, mydata->fatsize)) { in get_contents()
361 if (get_cluster(mydata, curclust, get_contents_vfatname_block, in get_contents()
374 curclust = get_fatent(mydata, curclust); in get_contents()
375 if (CHECK_CLUST(curclust, mydata->fatsize)) { in get_contents()
388 newclust = get_fatent(mydata, endclust); in get_contents()
391 if (CHECK_CLUST(newclust, mydata->fatsize)) { in get_contents()
402 if (get_cluster(mydata, curclust, buffer, (int)actsize) != 0) { in get_contents()
409 if (get_cluster(mydata, curclust, buffer, (int)actsize) != 0) { in get_contents()
417 curclust = get_fatent(mydata, endclust); in get_contents()
418 if (CHECK_CLUST(curclust, mydata->fatsize)) { in get_contents()
554 static int get_fs_info(fsdata *mydata) in get_fs_info() argument
560 ret = read_bootsectandvi(&bs, &volinfo, &mydata->fatsize); in get_fs_info()
566 if (mydata->fatsize == 32) { in get_fs_info()
567 mydata->fatlength = bs.fat32_length; in get_fs_info()
569 mydata->fatlength = bs.fat_length; in get_fs_info()
572 mydata->fat_sect = bs.reserved; in get_fs_info()
574 mydata->rootdir_sect = mydata->fat_sect + mydata->fatlength * bs.fats; in get_fs_info()
576 mydata->sect_size = (bs.sector_size[1] << 8) + bs.sector_size[0]; in get_fs_info()
577 mydata->clust_size = bs.cluster_size; in get_fs_info()
578 if (mydata->sect_size != cur_part_info.blksz) { in get_fs_info()
580 mydata->sect_size, cur_part_info.blksz); in get_fs_info()
584 if (mydata->fatsize == 32) { in get_fs_info()
585 mydata->data_begin = mydata->rootdir_sect - in get_fs_info()
586 (mydata->clust_size * 2); in get_fs_info()
587 mydata->root_cluster = bs.root_cluster; in get_fs_info()
589 mydata->rootdir_size = ((bs.dir_entries[1] * (int)256 + in get_fs_info()
592 mydata->sect_size; in get_fs_info()
593 mydata->data_begin = mydata->rootdir_sect + in get_fs_info()
594 mydata->rootdir_size - in get_fs_info()
595 (mydata->clust_size * 2); in get_fs_info()
596 mydata->root_cluster = in get_fs_info()
597 sect_to_clust(mydata, mydata->rootdir_sect); in get_fs_info()
600 mydata->fatbufnum = -1; in get_fs_info()
601 mydata->fat_dirty = 0; in get_fs_info()
602 mydata->fatbuf = malloc_cache_aligned(FATBUFSIZE); in get_fs_info()
603 if (mydata->fatbuf == NULL) { in get_fs_info()
612 mydata->fatsize, mydata->fat_sect, mydata->fatlength); in get_fs_info()
615 mydata->root_cluster, in get_fs_info()
616 mydata->rootdir_sect, in get_fs_info()
617 mydata->rootdir_sect * mydata->sect_size, mydata->data_begin); in get_fs_info()
618 debug("Sector size: %d, cluster size: %d\n", mydata->sect_size, in get_fs_info()
619 mydata->clust_size); in get_fs_info()
705 fsdata *mydata = parent->fsdata; /* for silly macros */ in fat_itr_child() local
724 fsdata *mydata = itr->fsdata; /* for silly macros */ in next_cluster() local