Lines Matching refs:fbl
11 #include <fbl/array.h>
12 #include <fbl/atomic.h>
13 #include <fbl/auto_call.h>
14 #include <fbl/auto_lock.h>
15 #include <fbl/limits.h>
16 #include <fbl/new.h>
36 fbl::unique_ptr<SliceExtent> SliceExtent::Split(size_t vslice) {
39 fbl::AllocChecker ac;
40 fbl::unique_ptr<SliceExtent> new_extent(new (&ac) SliceExtent(vslice + 1));
54 return fbl::move(new_extent);
59 fbl::AllocChecker ac;
93 fbl::AllocChecker ac;
94 auto vpm = fbl::make_unique_checked<VPartitionManager>(&ac, dev, block_info,
119 zx_status_t VPartitionManager::AddPartition(fbl::unique_ptr<VPartition> vp) const {
134 fbl::atomic<size_t> num_txns;
135 fbl::atomic<zx_status_t> status;
154 fbl::AllocChecker ac;
155 fbl::unique_ptr<uint8_t[]> op(new (&ac) uint8_t[block_op_size_]());
177 const size_t num_data_txns = fbl::round_up(len_remaining, max_transfer) / max_transfer;
183 fbl::AllocChecker ac;
184 fbl::Array<uint8_t> buffer(new (&ac) uint8_t[block_op_size_ * num_txns],
197 size_t length = fbl::min(len_remaining, max_transfer);
234 fbl::AutoLock lock(&lock_);
236 auto auto_detach = fbl::MakeAutoCall([&]() TA_NO_THREAD_SAFETY_ANALYSIS {
294 auto make_metadata_vmo = [&](size_t offset, fbl::unique_ptr<fzl::MappedVmo>* out) {
295 fbl::unique_ptr<fzl::MappedVmo> mvmo;
307 *out = fbl::move(mvmo);
311 fbl::unique_ptr<fzl::MappedVmo> mvmo;
316 fbl::unique_ptr<fzl::MappedVmo> mvmo_backup;
331 metadata_ = fbl::move(mvmo);
334 metadata_ = fbl::move(mvmo_backup);
342 fbl::unique_ptr<VPartition> vpartitions[FVM_MAX_ENTRIES] = {};
383 } else if (AddPartition(fbl::move(vpartitions[i]))) {
424 hint = fbl::max(hint, 1lu);
442 fbl::AutoLock lock(&lock_);
456 fbl::AutoLock lock(&vp->lock_);
486 fbl::AutoLock lock(&vp->lock_);
498 fbl::AutoLock lock(&lock_);
533 fbl::AutoLock lock(&lock_);
545 fbl::AutoLock lock(&vp->lock_);
603 fbl::AutoLock lock(&lock_);
658 if (request->slice_count >= fbl::numeric_limits<uint32_t>::max()) {
665 fbl::unique_ptr<VPartition> vpart;
667 fbl::AutoLock lock(&lock_);
688 if ((status = AddPartition(fbl::move(vpart))) != ZX_OK) {
735 fbl::unique_ptr<VPartition>* out) {
738 fbl::AllocChecker ac;
739 auto vp = fbl::make_unique_checked<VPartition>(&ac, vpm, entry_index, vpm->BlockOpSize());
744 *out = fbl::move(vp);
759 fbl::AutoLock lock(&lock_);
806 fbl::AllocChecker ac;
807 fbl::unique_ptr<SliceExtent> new_extent(new (&ac) SliceExtent(vslice));
815 slice_map_.insert(fbl::move(new_extent));
844 slice_map_.insert(fbl::move(new_extent));
887 fbl::AutoLock lock(&lock_);
936 fbl::AutoLock lock(&lock_);
947 fbl::AutoLock lock(&lock_);
958 fbl::AutoLock lock(&lock_);
1006 fbl::Mutex lock;
1017 fbl::AutoLock lock(&state->lock);
1067 fbl::AutoLock lock(&lock_);
1107 fbl::Vector<block_op_t*> txns;
1110 fbl::AllocChecker ac;
1111 fbl::unique_ptr<multi_txn_state_t> state(new (&ac) multi_txn_state_t(txn_count, txn));
1125 length = fbl::round_up(txn->rw.offset_dev + 1, blocks_per_slice) - txn->rw.offset_dev;
1180 static_assert(fbl::is_same<decltype(info_out), decltype(&info_)>::value, "Info type mismatch");