io.c (afa4b293230c0bad3dfbfa9c0ff3f7bdfab40430) io.c (c8f6d58edb0defbe1e90d44419ec8ec6d711c341)
1/*
2 * Block layer I/O functions
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

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

1334 max_transfer = QEMU_ALIGN_DOWN(MIN_NON_ZERO(bs->bl.max_transfer, INT_MAX),
1335 align);
1336
1337 waited = wait_serialising_requests(req);
1338 assert(!waited || !req->serialising);
1339 assert(req->overlap_offset <= offset);
1340 assert(offset + bytes <= req->overlap_offset + req->overlap_bytes);
1341 assert(child->perm & BLK_PERM_WRITE);
1/*
2 * Block layer I/O functions
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

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

1334 max_transfer = QEMU_ALIGN_DOWN(MIN_NON_ZERO(bs->bl.max_transfer, INT_MAX),
1335 align);
1336
1337 waited = wait_serialising_requests(req);
1338 assert(!waited || !req->serialising);
1339 assert(req->overlap_offset <= offset);
1340 assert(offset + bytes <= req->overlap_offset + req->overlap_bytes);
1341 assert(child->perm & BLK_PERM_WRITE);
1342 assert(end_sector <= bs->total_sectors || child->perm & BLK_PERM_RESIZE);
1342
1343 ret = notifier_with_return_list_notify(&bs->before_write_notifiers, req);
1344
1345 if (!ret && bs->detect_zeroes != BLOCKDEV_DETECT_ZEROES_OPTIONS_OFF &&
1346 !(flags & BDRV_REQ_ZERO_WRITE) && drv->bdrv_co_pwrite_zeroes &&
1347 qemu_iovec_is_zero(qiov)) {
1348 flags |= BDRV_REQ_ZERO_WRITE;
1349 if (bs->detect_zeroes == BLOCKDEV_DETECT_ZEROES_OPTIONS_UNMAP) {

--- 1307 unchanged lines hidden ---
1343
1344 ret = notifier_with_return_list_notify(&bs->before_write_notifiers, req);
1345
1346 if (!ret && bs->detect_zeroes != BLOCKDEV_DETECT_ZEROES_OPTIONS_OFF &&
1347 !(flags & BDRV_REQ_ZERO_WRITE) && drv->bdrv_co_pwrite_zeroes &&
1348 qemu_iovec_is_zero(qiov)) {
1349 flags |= BDRV_REQ_ZERO_WRITE;
1350 if (bs->detect_zeroes == BLOCKDEV_DETECT_ZEROES_OPTIONS_UNMAP) {

--- 1307 unchanged lines hidden ---