Searched defs:requests (Results 1 - 7 of 7) sorted by relevance
/fuchsia/zircon/system/ulib/block-client/ |
H A D | client.cpp | 41 zx_status_t Client::Transaction(block_fifo_request_t* requests, size_t count) const { argument
|
H A D | client.c | 92 zx_status_t block_fifo_txn(fifo_client_t* client, block_fifo_request_t* requests, size_t count) { argument
|
/fuchsia/zircon/system/ulib/blktest/ |
H A D | blktest.cpp | 197 block_fifo_request_t requests[2]; local [all...] |
/fuchsia/zircon/system/utest/zxcrypt/ |
H A D | test-device.h | 111 zx_status_t block_fifo_txn(block_fifo_request_t* requests, size_t num) { argument
|
/fuchsia/zircon/system/dev/block/block/ |
H A D | server.cpp | 453 block_fifo_request_t requests[BLOCK_FIFO_MAX_DEPTH]; local 141 ZX_DEBUG_ASSERT(group < MAX_TXN_GROUP_COUNT); groups_[group].Complete(status); } } zx_status_t BlockServer::Read(block_fifo_request_t* requests, size_t* count) { auto cleanup = fbl::MakeAutoCall([this]() { TerminateQueue(); ZX_ASSERT(pending_count_.load() == 0); ZX_ASSERT(in_queue_.is_empty()); fifo_.signal(0, kSignalFifoTerminated); }); zx_status_t status; while (true) { status = fifo_.read(requests, BLOCK_FIFO_MAX_DEPTH, count); zx_signals_t signals; zx_signals_t seen; switch (status) { case ZX_ERR_SHOULD_WAIT: signals = ZX_FIFO_READABLE | ZX_FIFO_PEER_CLOSED | kSignalFifoTerminate | kSignalFifoOpsComplete; if ((status = fifo_.wait_one(signals, zx::time::infinite(), &seen)) != ZX_OK) { return status; } if (seen & kSignalFifoOpsComplete) { BarrierComplete(); continue; } if ((seen & ZX_FIFO_PEER_CLOSED) || (seen & kSignalFifoTerminate)) { return ZX_ERR_PEER_CLOSED; } break; case ZX_OK: cleanup.cancel(); return ZX_OK; default: return status; } } } zx_status_t BlockServer::FindVmoIDLocked(vmoid_t* out) { for (vmoid_t i = last_id_; i < fbl::numeric_limits<vmoid_t>::max(); i++) { if (!tree_.find(i).IsValid()) { *out = i; last_id_ = static_cast<vmoid_t>(i + 1); return ZX_OK; } } for (vmoid_t i = VMOID_INVALID + 1; i < last_id_; i++) { if (!tree_.find(i).IsValid()) { *out = i; last_id_ = static_cast<vmoid_t>(i + 1); return ZX_OK; } } return ZX_ERR_NO_RESOURCES; } zx_status_t BlockServer::AttachVmo(zx::vmo vmo, vmoid_t* out) { zx_status_t status; vmoid_t id; fbl::AutoLock server_lock(&server_lock_); if ((status = FindVmoIDLocked(&id)) != ZX_OK) { return status; } fbl::AllocChecker ac; fbl::RefPtr<IoBuffer> ibuf = fbl::AdoptRef(new (&ac) IoBuffer(fbl::move(vmo), id)); if (!ac.check()) { return ZX_ERR_NO_MEMORY; } tree_.insert(fbl::move(ibuf)); *out = id; return ZX_OK; } void BlockServer::TxnEnd() { size_t old_count = pending_count_.fetch_sub(1); ZX_ASSERT(old_count > 0); if ((old_count == 1) && barrier_in_progress_.load()) { fifo_.signal(0, kSignalFifoOpsComplete); } } void BlockServer::InQueueDrainer() { while (true) { if (in_queue_.is_empty()) { return; } auto msg = in_queue_.begin(); if (deferred_barrier_before_) { msg->op.command |= BLOCK_FL_BARRIER_BEFORE; deferred_barrier_before_ = false; } if (msg->op.command & BLOCK_FL_BARRIER_BEFORE) argument [all...] |
/fuchsia/zircon/system/utest/ramdisk/ |
H A D | ramdisk.cpp | 544 block_fifo_request_t requests[2]; local 614 block_fifo_request_t requests[2]; local 1071 block_fifo_request_t requests[kRequestCount]; local 1348 block_fifo_request_t requests[2]; local 1502 block_fifo_request_t requests[16]; local [all...] |
/fuchsia/zircon/system/utest/fvm/ |
H A D | fvm.cpp | 259 bool Transaction(block_fifo_request_t* requests, size_t count) { argument
|
Completed in 47 milliseconds