Home | History | Annotate | Download | only in ext2fs

Lines Matching refs:fs

61 errcode_t ext2fs_image_inode_write(ext2_filsys fs, int fd, int flags)
69 buf = malloc(fs->blocksize * BUF_BLOCKS);
73 for (group = 0; group < fs->group_desc_count; group++) {
74 blk = fs->group_desc[(unsigned)group].bg_inode_table;
79 left = fs->inode_blocks_per_group;
84 retval = io_channel_read_blk(fs->io, blk, c, buf);
94 if (check_zero_block(cp, fs->blocksize)) {
98 cp += fs->blocksize;
99 lseek(fd, fs->blocksize, SEEK_CUR);
104 if (check_zero_block(cp + d*fs->blocksize, fs->blocksize))
108 actual = write(fd, cp, fs->blocksize * d);
113 if (actual != (ssize_t) (fs->blocksize * d)) {
119 cp += fs->blocksize * d;
134 errcode_t ext2fs_image_inode_read(ext2_filsys fs, int fd,
143 buf = malloc(fs->blocksize * BUF_BLOCKS);
147 for (group = 0; group < fs->group_desc_count; group++) {
148 blk = fs->group_desc[(unsigned)group].bg_inode_table;
153 left = fs->inode_blocks_per_group;
158 actual = read(fd, buf, fs->blocksize * c);
163 if (actual != (ssize_t) (fs->blocksize * c)) {
167 retval = io_channel_write_blk(fs->io, blk, c, buf);
175 retval = ext2fs_flush_icache(fs);
185 errcode_t ext2fs_image_super_write(ext2_filsys fs, int fd,
192 buf = malloc(fs->blocksize);
199 memset(buf, 0, fs->blocksize);
200 memcpy(buf, fs->super, SUPERBLOCK_SIZE);
201 actual = write(fd, buf, fs->blocksize);
206 if (actual != (ssize_t) fs->blocksize) {
214 cp = (char *) fs->group_desc;
215 actual = write(fd, cp, fs->blocksize * fs->desc_blocks);
220 if (actual != (ssize_t) (fs->blocksize * fs->desc_blocks)) {
235 errcode_t ext2fs_image_super_read(ext2_filsys fs, int fd,
242 size = fs->blocksize * (fs->group_desc_count + 1);
263 memcpy(fs->super, buf, SUPERBLOCK_SIZE);
265 memcpy(fs->group_desc, buf + fs->blocksize,
266 fs->blocksize * fs->group_desc_count);
278 errcode_t ext2fs_image_bitmap_write(ext2_filsys fs, int fd, int flags)
287 if (!fs->inode_map) {
288 retval = ext2fs_read_inode_bitmap(fs);
292 ptr = fs->inode_map->bitmap;
293 size = (EXT2_INODES_PER_GROUP(fs->super) / 8);
295 if (!fs->block_map) {
296 retval = ext2fs_read_block_bitmap(fs);
300 ptr = fs->block_map->bitmap;
301 size = EXT2_BLOCKS_PER_GROUP(fs->super) / 8;
303 size = size * fs->group_desc_count;
314 size = size % fs->blocksize;
317 size = fs->blocksize - size;
343 errcode_t ext2fs_image_bitmap_read(ext2_filsys fs, int fd, int flags)
351 if (!fs->inode_map) {
352 retval = ext2fs_read_inode_bitmap(fs);
356 ptr = fs->inode_map->bitmap;
357 size = (EXT2_INODES_PER_GROUP(fs->super) / 8);
359 if (!fs->block_map) {
360 retval = ext2fs_read_block_bitmap(fs);
364 ptr = fs->block_map->bitmap;
365 size = EXT2_BLOCKS_PER_GROUP(fs->super) / 8;
367 size = size * fs->group_desc_count;