block_int.h (7ca7f0f6db1fedd28d490795d778cf23979a2aa7) block_int.h (5c8cab48087d3544cb788309ac729bca08244020)
1/*
2 * QEMU System Emulator block driver
3 *
4 * Copyright (c) 2003 Fabrice Bellard
5 *
6 * Permission is hereby granted, free of charge, to any person obtaining a copy
7 * of this software and associated documentation files (the "Software"), to deal
8 * in the Software without restriction, including without limitation the rights

--- 351 unchanged lines hidden (view full) ---

360
361 QLIST_ENTRY(BdrvAioNotifier) list;
362} BdrvAioNotifier;
363
364struct BdrvChildRole {
365 void (*inherit_options)(int *child_flags, QDict *child_options,
366 int parent_flags, QDict *parent_options);
367
1/*
2 * QEMU System Emulator block driver
3 *
4 * Copyright (c) 2003 Fabrice Bellard
5 *
6 * Permission is hereby granted, free of charge, to any person obtaining a copy
7 * of this software and associated documentation files (the "Software"), to deal
8 * in the Software without restriction, including without limitation the rights

--- 351 unchanged lines hidden (view full) ---

360
361 QLIST_ENTRY(BdrvAioNotifier) list;
362} BdrvAioNotifier;
363
364struct BdrvChildRole {
365 void (*inherit_options)(int *child_flags, QDict *child_options,
366 int parent_flags, QDict *parent_options);
367
368 void (*change_media)(BdrvChild *child, bool load);
369 void (*resize)(BdrvChild *child);
370
368 /*
369 * If this pair of functions is implemented, the parent doesn't issue new
370 * requests after returning from .drained_begin() until .drained_end() is
371 * called.
372 *
373 * Note that this can be nested. If drained_begin() was called twice, new
374 * I/O is allowed only after drained_end() was called twice, too.
375 */

--- 341 unchanged lines hidden (view full) ---

717void bdrv_root_unref_child(BdrvChild *child);
718
719void blk_dev_change_media_cb(BlockBackend *blk, bool load);
720bool blk_dev_has_removable_media(BlockBackend *blk);
721bool blk_dev_has_tray(BlockBackend *blk);
722void blk_dev_eject_request(BlockBackend *blk, bool force);
723bool blk_dev_is_tray_open(BlockBackend *blk);
724bool blk_dev_is_medium_locked(BlockBackend *blk);
371 /*
372 * If this pair of functions is implemented, the parent doesn't issue new
373 * requests after returning from .drained_begin() until .drained_end() is
374 * called.
375 *
376 * Note that this can be nested. If drained_begin() was called twice, new
377 * I/O is allowed only after drained_end() was called twice, too.
378 */

--- 341 unchanged lines hidden (view full) ---

720void bdrv_root_unref_child(BdrvChild *child);
721
722void blk_dev_change_media_cb(BlockBackend *blk, bool load);
723bool blk_dev_has_removable_media(BlockBackend *blk);
724bool blk_dev_has_tray(BlockBackend *blk);
725void blk_dev_eject_request(BlockBackend *blk, bool force);
726bool blk_dev_is_tray_open(BlockBackend *blk);
727bool blk_dev_is_medium_locked(BlockBackend *blk);
725void blk_dev_resize_cb(BlockBackend *blk);
726
727void bdrv_set_dirty(BlockDriverState *bs, int64_t cur_sector, int nr_sectors);
728bool bdrv_requests_pending(BlockDriverState *bs);
729
730void bdrv_clear_dirty_bitmap(BdrvDirtyBitmap *bitmap, HBitmap **out);
731void bdrv_undo_clear_dirty_bitmap(BdrvDirtyBitmap *bitmap, HBitmap *in);
732
733void blockdev_close_all_bdrv_states(void);
734
735#endif /* BLOCK_INT_H */
728
729void bdrv_set_dirty(BlockDriverState *bs, int64_t cur_sector, int nr_sectors);
730bool bdrv_requests_pending(BlockDriverState *bs);
731
732void bdrv_clear_dirty_bitmap(BdrvDirtyBitmap *bitmap, HBitmap **out);
733void bdrv_undo_clear_dirty_bitmap(BdrvDirtyBitmap *bitmap, HBitmap *in);
734
735void blockdev_close_all_bdrv_states(void);
736
737#endif /* BLOCK_INT_H */