Searched refs:io_end (Results 1 - 7 of 7) sorted by relevance
/linux-4.4.14/fs/ext4/ |
H A D | page-io.c | 124 static void ext4_release_io_end(ext4_io_end_t *io_end) ext4_release_io_end() argument 128 BUG_ON(!list_empty(&io_end->list)); ext4_release_io_end() 129 BUG_ON(io_end->flag & EXT4_IO_END_UNWRITTEN); ext4_release_io_end() 130 WARN_ON(io_end->handle); ext4_release_io_end() 132 if (atomic_dec_and_test(&EXT4_I(io_end->inode)->i_ioend_count)) ext4_release_io_end() 133 wake_up_all(ext4_ioend_wq(io_end->inode)); ext4_release_io_end() 135 for (bio = io_end->bio; bio; bio = next_bio) { ext4_release_io_end() 140 kmem_cache_free(io_end_cachep, io_end); ext4_release_io_end() 143 static void ext4_clear_io_unwritten_flag(ext4_io_end_t *io_end) ext4_clear_io_unwritten_flag() argument 145 struct inode *inode = io_end->inode; ext4_clear_io_unwritten_flag() 147 io_end->flag &= ~EXT4_IO_END_UNWRITTEN; ext4_clear_io_unwritten_flag() 210 /* Add the io_end to per-inode completed end_io list. */ ext4_add_complete_io() 211 static void ext4_add_complete_io(ext4_io_end_t *io_end) ext4_add_complete_io() argument 213 struct ext4_inode_info *ei = EXT4_I(io_end->inode); ext4_add_complete_io() 214 struct ext4_sb_info *sbi = EXT4_SB(io_end->inode->i_sb); ext4_add_complete_io() 219 WARN_ON(!(io_end->flag & EXT4_IO_END_UNWRITTEN)); ext4_add_complete_io() 220 WARN_ON(!io_end->handle && sbi->s_journal); ext4_add_complete_io() 225 list_add_tail(&io_end->list, &ei->i_rsv_conversion_list); ext4_add_complete_io() 277 void ext4_put_io_end_defer(ext4_io_end_t *io_end) ext4_put_io_end_defer() argument 279 if (atomic_dec_and_test(&io_end->count)) { ext4_put_io_end_defer() 280 if (!(io_end->flag & EXT4_IO_END_UNWRITTEN) || !io_end->size) { ext4_put_io_end_defer() 281 ext4_release_io_end(io_end); ext4_put_io_end_defer() 284 ext4_add_complete_io(io_end); ext4_put_io_end_defer() 288 int ext4_put_io_end(ext4_io_end_t *io_end) ext4_put_io_end() argument 292 if (atomic_dec_and_test(&io_end->count)) { ext4_put_io_end() 293 if (io_end->flag & EXT4_IO_END_UNWRITTEN) { ext4_put_io_end() 294 err = ext4_convert_unwritten_extents(io_end->handle, ext4_put_io_end() 295 io_end->inode, io_end->offset, ext4_put_io_end() 296 io_end->size); ext4_put_io_end() 297 io_end->handle = NULL; ext4_put_io_end() 298 ext4_clear_io_unwritten_flag(io_end); ext4_put_io_end() 300 ext4_release_io_end(io_end); ext4_put_io_end() 305 ext4_io_end_t *ext4_get_io_end(ext4_io_end_t *io_end) ext4_get_io_end() argument 307 atomic_inc(&io_end->count); ext4_get_io_end() 308 return io_end; ext4_get_io_end() 314 ext4_io_end_t *io_end = bio->bi_private; ext4_end_bio() local 317 BUG_ON(!io_end); ext4_end_bio() 321 struct inode *inode = io_end->inode; ext4_end_bio() 326 (unsigned long long) io_end->offset, ext4_end_bio() 327 (long) io_end->size, ext4_end_bio() 333 if (io_end->flag & EXT4_IO_END_UNWRITTEN) { ext4_end_bio() 335 * Link bio into list hanging from io_end. We have to do it ext4_end_bio() 339 bio->bi_private = xchg(&io_end->bio, bio); ext4_end_bio() 340 ext4_put_io_end_defer(io_end); ext4_end_bio() 343 * Drop io_end reference early. Inode can get freed once ext4_end_bio() 346 ext4_put_io_end_defer(io_end); ext4_end_bio() 371 io->io_end = NULL; ext4_io_submit_init() 386 bio->bi_private = ext4_get_io_end(io->io_end); io_submit_init_bio()
|
H A D | inode.c | 721 ext4_io_end_t *io_end = ext4_inode_aio(inode); _ext4_get_block() local 731 WARN_ON_ONCE(io_end); _ext4_get_block() 735 if (io_end && io_end->flag & EXT4_IO_END_UNWRITTEN) _ext4_get_block() 1915 io_submit.io_end = ext4_init_io_end(inode, GFP_NOFS); ext4_writepage() 1916 if (!io_submit.io_end) { ext4_writepage() 1923 /* Drop io_end reference we got from init */ ext4_writepage() 1924 ext4_put_io_end_defer(io_submit.io_end); ext4_writepage() 2111 * io_end->size as the following call mpage_map_and_submit_buffers() 2133 mpd->io_submit.io_end->size += PAGE_CACHE_SIZE; mpage_map_and_submit_buffers() 2185 if (!mpd->io_submit.io_end->handle && mpage_map_one_extent() 2187 mpd->io_submit.io_end->handle = handle->h_rsv_handle; mpage_map_one_extent() 2190 ext4_set_io_unwritten_flag(inode, mpd->io_submit.io_end); mpage_map_one_extent() 2234 mpd->io_submit.io_end->offset = mpage_map_and_submit_extent() 2336 * Note that this function can attach bios to one io_end structure which are 2339 * case as we need to track IO to all buffers underlying a page in one io_end. 2546 /* For each extent of pages we use new io_end */ ext4_writepages() 2547 mpd.io_submit.io_end = ext4_init_io_end(inode, GFP_KERNEL); ext4_writepages() 2548 if (!mpd.io_submit.io_end) { ext4_writepages() 2571 /* Release allocated io_end */ ext4_writepages() 2572 ext4_put_io_end(mpd.io_submit.io_end); ext4_writepages() 2597 /* Drop our io_end reference we got from init */ ext4_writepages() 2598 ext4_put_io_end(mpd.io_submit.io_end); ext4_writepages() 3108 ext4_io_end_t *io_end = iocb->private; ext4_end_io_dio() local 3111 if (!io_end) ext4_end_io_dio() 3114 ext_debug("ext4_end_io_dio(): io_end 0x%p " ext4_end_io_dio() 3116 iocb->private, io_end->inode->i_ino, iocb, offset, ext4_end_io_dio() 3120 io_end->offset = offset; ext4_end_io_dio() 3121 io_end->size = size; ext4_end_io_dio() 3122 ext4_put_io_end(io_end); ext4_end_io_dio() 3155 ext4_io_end_t *io_end = NULL; ext4_ext_direct_IO() local 3196 * case, we allocate an io_end structure to hook to the iocb. ext4_ext_direct_IO() 3201 io_end = ext4_init_io_end(inode, GFP_NOFS); ext4_ext_direct_IO() 3202 if (!io_end) { ext4_ext_direct_IO() 3209 iocb->private = ext4_get_io_end(io_end); ext4_ext_direct_IO() 3216 ext4_inode_aio_set(inode, io_end); ext4_ext_direct_IO() 3238 * Put our reference to io_end. This can free the io_end structure e.g. ext4_ext_direct_IO() 3244 if (io_end) { ext4_ext_direct_IO() 3246 ext4_put_io_end(io_end); ext4_ext_direct_IO() 3252 WARN_ON(iocb->private != io_end); ext4_ext_direct_IO() 3253 WARN_ON(io_end->flag & EXT4_IO_END_UNWRITTEN); ext4_ext_direct_IO() 3254 ext4_put_io_end(io_end); ext4_ext_direct_IO()
|
H A D | ext4.h | 193 ext4_io_end_t *io_end; member in struct:ext4_io_submit 1004 atomic_t i_ioend_count; /* Number of outstanding io_end structs */ 1480 struct ext4_io_end *io_end) ext4_set_io_unwritten_flag() 1482 if (!(io_end->flag & EXT4_IO_END_UNWRITTEN)) { ext4_set_io_unwritten_flag() 1483 io_end->flag |= EXT4_IO_END_UNWRITTEN; ext4_set_io_unwritten_flag() 3196 extern ext4_io_end_t *ext4_get_io_end(ext4_io_end_t *io_end); 3197 extern int ext4_put_io_end(ext4_io_end_t *io_end); 3198 extern void ext4_put_io_end_defer(ext4_io_end_t *io_end); 1479 ext4_set_io_unwritten_flag(struct inode *inode, struct ext4_io_end *io_end) ext4_set_io_unwritten_flag() argument
|
H A D | extents.c | 4486 * io_end structure was created for every IO write to an ext4_ext_map_blocks()
|
/linux-4.4.14/drivers/pci/hotplug/ |
H A D | ibmphp_ebda.c | 231 debug ("%s - io_end: %x\n", __func__, hpc_ptr->u.isa_ctlr.io_end); print_ebda_hpc() 873 hpc_ptr->u.isa_ctlr.io_end = readw (io_mem + addr + 2); ebda_rsrc_controller() 875 (hpc_ptr->u.isa_ctlr.io_end - hpc_ptr->u.isa_ctlr.io_start + 1), ebda_rsrc_controller() 1140 release_region (controller->u.isa_ctlr.io_start, (controller->u.isa_ctlr.io_end - controller->u.isa_ctlr.io_start + 1)); ibmphp_free_ebda_hpc_queue()
|
H A D | ibmphp.h | 204 u16 io_end; member in struct:isa_ctlr_access
|
H A D | ibmphp_hpc.c | 363 end_address = ctlr_ptr->u.isa_ctlr.io_end; isa_ctrl_read()
|
Completed in 307 milliseconds