History log of /fuchsia/zircon/system/ulib/blobfs/writeback.cpp
Revision Date Author Comments
# 642a3954 29-Aug-2018 Sean Klein <smklein@google.com>

[fs][minfs][blobfs] Simplify BlockTxn.

This patch acts as a pre-requisite for latter patches
which require transactions that combine operations, such
as "BLOCKIO_WRITE" and "BLOCKIO_FLUSH".

- Remove templatization of BlockTxn. This will allow
the implementation to be moved into a ".cpp" file
in a future patch. ReadTxn and WriteTxn still exist
as simple type-safe wrappers around an untemplated
BlockTxn.
- Rename "Flush" to "Transact"; "Flush" is an overloaded
term in the prescence of "BLOCKIO_FLUSH".
- Define an explicit TransactionHandler pure virtual
interface, to explicitly define the usage of a BlockTxn,
rather than relying on implicit templatization rules.

Test: runtests, fs-tests

Change-Id: Ic18687d31b44876ea9c06b49256ab25bd56f75db


# 98dec572 11-May-2018 Sean Klein <smklein@google.com>

[block-client] Add RAII C++ wrapper around block client

Test: fs, ramdisk, blobfs, fvm
ZX-2123 #done

Change-Id: I1f0d9eca48939c5c874fe5a6a9721e309e4eb338


# c288126b 12-Jul-2018 Suraj Malhotra <surajmalhotra@google.com>

[fzl] Move fs::MappedVmo to fzl::MappedVmo

This is a useful utility outside of the scope of just filesystems.

Change-Id: Id9cfa3d40e7d45dd6dd94242c1a85204f1139bfa
Tested: Run `runtests`


# 6dedde71 01-May-2018 Sean Klein <smklein@google.com>

[block] Implement v2 of Block Protocol

- "Transactions" renamed to "Groups". The term
transaction remains, and is used to corresponds to a
single FIFO request.
- "Groups" pre-allocated by block server.
Clients can use groups between [0, MAX_TXN_GROUP_COUNT)
without needing to allocate. Groups signify structures
that can wait to transmit responses for a collection of
transactions. These transactions may be requested via
"BLOCKIO_TXN_GROUP"; the block-client library does this
automatically.
- "One-shot" transactions, which are not associated with
a group, are also implemented. All "one-shot" transactions
receive a FIFO response.

ZX-1584 #done
ZX-1580 #comment In Progress

TEST=ramdisk, fvm, zxcrypt, block, fs tests, running iochk manually

Change-Id: I7caf342804baf32543adfef3fec76f7d77d89b3f


# f177f3e0 16-Jun-2018 Sean Klein <smklein@google.com>

[fvm][zxcrypt] Refactor libraries to avoid fdio dependency

ZX-2266 #done

Test: Refactor; relying on exitant library/driver tests.

Change-Id: Ia54acac0fb8056c91b26c097a8efae22dd0c5b3a


# a8d181c8 03-May-2018 Tricia Landers <planders@google.com>

[blobfs] Make WritebackWork inherit from WriteTxn

Change-Id: I0d8ec2b7458d4b1600e3df7495fae2fcb3a481bf


# 7ddb4ad6 04-Apr-2018 Sean Klein <smklein@google.com>

[blobfs] Update blobfs metrics aggregation for consistency with minfs

ZX-1587 #done

Change-Id: I8c1ff4968ee1f514bb17c93738cf32de21028a69


# e5e6b569 09-Apr-2018 Sean Klein <smklein@google.com>

[blobfs] Prevent writeback from indexing into empty vector

Change-Id: Ia1f8cb35c8916f888b16276c4bf5e2ea1e5cfe0e


# 9ddc09ab 08-Mar-2018 Sean Klein <smklein@google.com>

[fs] Remove artificial MAX_TXN_MESSAGES constraint

Previously, the block midlayer limited the number of
permitted messages to an arbitrary constant size, since
it pre-allocated space for a fixed size number of incoming
messages.

However, with the revamped block protocol, no such limit exists:
clients are free to write requests until the block FIFO
is full.

Remove this constant, and allow filesystem transactions to
grow to an arbitrary number of fragmented requests.

ZX-1918 #done

Change-Id: I4922e93a2e25533d1a2a31dec17d25c02398f162


# 33f557c0 27-Mar-2018 Shai Barack <shayba@google.com>

[syscall][vmo] removal of zx_vmo_{read,write}() actual parameter 10/n

Remove remaining usage of _old syscalls in Zircon, in preparation for
deleting them.

ZX-1802

Change-Id: If518f15ab2b411295d7ad1061f50525f99ef4952


# 939f4207 12-Mar-2018 Shai Barack <shayba@google.com>

[syscall][vmo] removal of zx_vmo_{read,write}() actual parameter 1/n

In preparation for changing the zx_vmo_read() and write() syscalls,
introduce aliases (zx_vmo_read_old() and write_old()) for the existing
behaviour, migrate zircon callers to the aliases, and mark the original
syscalls as deprecated.

Once the garnet and above layers have been migrated, the original
syscalls will be adjusted to remove the "actual" argument, and the
temporary _old() versions will be deprecated, and then removed.

ZX-1802

Change-Id: I2fab9a59caf4093fb585ada6015197017767aba2


# 47f49c14 27-Feb-2018 Sean Klein <smklein@google.com>

[blobfs] Collect metrics for blobfs

ZX-1587 #done

Change-Id: Ice73eeff3267430079755af812d9fe8c52778c7e


# f953eaea 27-Nov-2017 Tricia Landers <planders@google.com>

[blobstore] Add asynchonous writeback queue

ZX-1312 #done

Change-Id: Ibc679148255b08e81e49a82e292917d0402d1b45