Lines Matching full:channel
63 /* The backing io channel */
73 static errcode_t undo_open(const char *name, int flags, io_channel *channel);
74 static errcode_t undo_close(io_channel channel);
75 static errcode_t undo_set_blksize(io_channel channel, int blksize);
76 static errcode_t undo_read_blk(io_channel channel, unsigned long block,
78 static errcode_t undo_write_blk(io_channel channel, unsigned long block,
80 static errcode_t undo_flush(io_channel channel);
81 static errcode_t undo_write_byte(io_channel channel, unsigned long offset,
83 static errcode_t undo_set_option(io_channel channel, const char *option,
135 io_channel channel;
139 channel = data->real;
140 block_size = channel->block_size;
142 io_channel_set_blksize(channel, SUPERBLOCK_OFFSET);
143 retval = io_channel_read_blk(channel, 1, -SUPERBLOCK_SIZE, &super);
170 io_channel_set_blksize(channel, block_size);
192 static errcode_t undo_write_tdb(io_channel channel,
205 data = (struct undo_private_data *) channel->private_data;
215 size = channel->block_size;
220 size = count * channel->block_size;
228 offset = (block * channel->block_size) + data->offset ;
253 backing_blk_num = (offset - data->offset) / channel->block_size;
256 ((offset - data->offset) % channel->block_size);
265 if ((count % channel->block_size) == 0)
266 sz = count / channel->block_size;
286 ((offset - data->offset) % channel->block_size);
325 static errcode_t undo_io_read_error(io_channel channel ATTR((unused)),
337 static void undo_err_handler_init(io_channel channel)
339 channel->read_error = undo_io_read_error;
342 static errcode_t undo_open(const char *name, int flags, io_channel *channel)
397 *channel = io;
410 static errcode_t undo_close(io_channel channel)
415 EXT2_CHECK_MAGIC(channel, EXT2_ET_MAGIC_IO_CHANNEL);
416 data = (struct undo_private_data *) channel->private_data;
419 if (--channel->refcount > 0)
422 retval = write_file_system_identity(channel, data->tdb);
429 ext2fs_free_mem(&channel->private_data);
430 if (channel->name)
431 ext2fs_free_mem(&channel->name);
432 ext2fs_free_mem(&channel);
437 static errcode_t undo_set_blksize(io_channel channel, int blksize)
442 EXT2_CHECK_MAGIC(channel, EXT2_ET_MAGIC_IO_CHANNEL);
443 data = (struct undo_private_data *) channel->private_data;
454 channel->block_size = blksize;
458 static errcode_t undo_read_blk(io_channel channel, unsigned long block,
464 EXT2_CHECK_MAGIC(channel, EXT2_ET_MAGIC_IO_CHANNEL);
465 data = (struct undo_private_data *) channel->private_data;
474 static errcode_t undo_write_blk(io_channel channel, unsigned long block,
480 EXT2_CHECK_MAGIC(channel, EXT2_ET_MAGIC_IO_CHANNEL);
481 data = (struct undo_private_data *) channel->private_data;
486 retval = undo_write_tdb(channel, block, count);
495 static errcode_t undo_write_byte(io_channel channel, unsigned long offset,
503 EXT2_CHECK_MAGIC(channel, EXT2_ET_MAGIC_IO_CHANNEL);
504 data = (struct undo_private_data *) channel->private_data;
508 blk_num = location/channel->block_size;
515 count = (size + (location % channel->block_size) +
516 channel->block_size -1)/channel->block_size;
517 retval = undo_write_tdb(channel, blk_num, count);
529 static errcode_t undo_flush(io_channel channel)
534 EXT2_CHECK_MAGIC(channel, EXT2_ET_MAGIC_IO_CHANNEL);
535 data = (struct undo_private_data *) channel->private_data;
544 static errcode_t undo_set_option(io_channel channel, const char *option,
552 EXT2_CHECK_MAGIC(channel, EXT2_ET_MAGIC_IO_CHANNEL);
553 data = (struct undo_private_data *) channel->private_data;