block-io.h (2f65df6e16dea2d6e7212fa675f4779d9281e26f) | block-io.h (299403aedaeb7f08d8e98aa8614b29d4e5546066) |
---|---|
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 --- 288 unchanged lines hidden (view full) --- 297 * 298 * End a quiesced section for the parent of @c. 299 */ 300void bdrv_parent_drained_end_single(BdrvChild *c); 301 302/** 303 * bdrv_drain_poll: 304 * | 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 --- 288 unchanged lines hidden (view full) --- 297 * 298 * End a quiesced section for the parent of @c. 299 */ 300void bdrv_parent_drained_end_single(BdrvChild *c); 301 302/** 303 * bdrv_drain_poll: 304 * |
305 * Poll for pending requests in @bs, its parents (except for @ignore_parent), 306 * and if @recursive is true its children as well (used for subtree drain). | 305 * Poll for pending requests in @bs and its parents (except for @ignore_parent). |
307 * 308 * If @ignore_bds_parents is true, parents that are BlockDriverStates must 309 * ignore the drain request because they will be drained separately (used for 310 * drain_all). 311 * 312 * This is part of bdrv_drained_begin. 313 */ | 306 * 307 * If @ignore_bds_parents is true, parents that are BlockDriverStates must 308 * ignore the drain request because they will be drained separately (used for 309 * drain_all). 310 * 311 * This is part of bdrv_drained_begin. 312 */ |
314bool bdrv_drain_poll(BlockDriverState *bs, bool recursive, 315 BdrvChild *ignore_parent, bool ignore_bds_parents); | 313bool bdrv_drain_poll(BlockDriverState *bs, BdrvChild *ignore_parent, 314 bool ignore_bds_parents); |
316 317/** 318 * bdrv_drained_begin: 319 * 320 * Begin a quiesced section for exclusive access to the BDS, by disabling 321 * external request sources including NBD server, block jobs, and device model. 322 * 323 * This function can be recursive. --- 5 unchanged lines hidden (view full) --- 329 * 330 * Quiesces a BDS like bdrv_drained_begin(), but does not wait for already 331 * running requests to complete. 332 */ 333void bdrv_do_drained_begin_quiesce(BlockDriverState *bs, 334 BdrvChild *parent, bool ignore_bds_parents); 335 336/** | 315 316/** 317 * bdrv_drained_begin: 318 * 319 * Begin a quiesced section for exclusive access to the BDS, by disabling 320 * external request sources including NBD server, block jobs, and device model. 321 * 322 * This function can be recursive. --- 5 unchanged lines hidden (view full) --- 328 * 329 * Quiesces a BDS like bdrv_drained_begin(), but does not wait for already 330 * running requests to complete. 331 */ 332void bdrv_do_drained_begin_quiesce(BlockDriverState *bs, 333 BdrvChild *parent, bool ignore_bds_parents); 334 335/** |
337 * Like bdrv_drained_begin, but recursively begins a quiesced section for 338 * exclusive access to all child nodes as well. 339 */ 340void bdrv_subtree_drained_begin(BlockDriverState *bs); 341 342/** | |
343 * bdrv_drained_end: 344 * 345 * End a quiescent section started by bdrv_drained_begin(). 346 */ 347void bdrv_drained_end(BlockDriverState *bs); 348 | 336 * bdrv_drained_end: 337 * 338 * End a quiescent section started by bdrv_drained_begin(). 339 */ 340void bdrv_drained_end(BlockDriverState *bs); 341 |
349/** 350 * End a quiescent section started by bdrv_subtree_drained_begin(). 351 */ 352void bdrv_subtree_drained_end(BlockDriverState *bs); 353 | |
354#endif /* BLOCK_IO_H */ | 342#endif /* BLOCK_IO_H */ |