History log of /fuchsia/zircon/system/dev/block/mbr/mbr.c
Revision Date Author Comments
# 57b18e3b 26-Sep-2018 Todd Eisenberger <teisenbe@google.com>

[mbr] Migrate to BLOCK_OP_FLUSH instead of IOCTL_DEVICE_SYNC

This removes uses of ioctl_device(), which we would like to
stop using.

ZX-2620 #comment Cleanup MBR

Test: Constructed an MBR disk image, mounted an FS on it

Change-Id: I2a8235885f1c7572655c4ea65005c9584552a463


# babe1cf5 25-Jul-2018 Adam Barth <abarth@chromium.org>

[sync] Apply C API rubric to libsync

Test: No behavior change
Change-Id: I30a413f7fb5d3f4e741e5204532b82e73595c086


# 9db0af33 20-Mar-2018 Shai Barack <shayba@google.com>

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

This reverts commit d7c91f0a8a876bd4de8808595cafcd4f2c3fd7a1.

Change-Id: I5c61410f62850583a970d3ff2f44b6d58901509a


# d7c91f0a 19-Mar-2018 Benjamin Brittain <bwb@google.com>

[revert] Revert "[syscall][vmo] removal of zx_vmo_{read,write}() actual parameter 4/n"

This reverts commit 2d25909b7ab244d73172c9f5bc11d85b49ccefbb.

Change-Id: I09efe4e1d69d7aeadb051936d3ddc8237e7d39cf


# 2d25909b 14-Mar-2018 Shai Barack <shayba@google.com>

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

Remove actual from zx_vmo_{read,write}
Mark zx_vmo_{read,write}_old as deprecated
Retarget most uses of zx_vmo_{read,write}_old to zx_vmo_{read,write}.

Still need to migrate a handful of uses of _old that had meaningful
usage of actual.
This is good enough to go ahead and migrate uses in Garnet and Topaz.

ZX-1802

Change-Id: If57329f9c5183a0dacd29083decbaf771925145f


# 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


# 5bf4ff92 08-Mar-2018 Brian Swetland <swetland@google.com>

[ddk][block] rename BLOCK_CORE protocol to BLOCK_IMPL

Change-Id: Iba98a01e526cffc01940fdbb1ea4c593f0f77184


# 461a3e5d 01-Feb-2018 Brian Swetland <swetland@google.com>

[block][mbr] remove support for iotxns

Change-Id: Idaddcd726d1e2a8211298c5e296ff217b9df20a0


# fcec3f84 10-Jan-2018 Brian Swetland <swetland@google.com>

[mbr][block] support new block protocol

If we bind to a device using the new protocol:
- support the new protocol ourselves
- pass block_queue() through to parent after validating
parameters and adjusting starting block

Change-Id: Ie2565fb3030e789ac5637b3897bceb9bc868ff9d


# 2dc3df0b 10-Jan-2018 Sean Klein <smklein@google.com>

[block] Larger-than-device requests should fail, not truncate

ZX-1545 #comment In Progress

Change-Id: I456c71c1b093791d1e21855849d566726a4c0544


# e75bde30 10-Dec-2017 Sean Klein <seanmarionklein@gmail.com>

[dev][block] Drastically simplify BLOCK_CORE protocol

Observations:
- Almost every block device driver implements the protocol
functions (set_callbacks, get_info, read, write) using
nearly identical code.
- The only differences which exist in those functions are
within the read/write functions, which may do additional
boundary checking. However, this boundary checking is
already accomplished by iotxn_queue, so it is redundant.

Exploiting these Observations:
- Relocate the iotxn allocating / enqueueing functionality
into the generic block driver, so it can be shared by
all block device drivers registered as BLOCK_CORE.
- In doing so, there is no longer a need for registered
callbacks. This simplifies block device drivers further.

Change-Id: I795418489cebd3ecebcb2d1153f1cfd7dcc77d5c


# 5203d83e 09-Dec-2017 Sean Klein <smklein@google.com>

[dev][block] Add write barriers for groups of block iotxns

ZX-1436 #comment In Progress

Change-Id: Iaea7b796e3d073780bfead6bdc2a7c30bb29e491


# 2e0fc961 05-Nov-2017 Mike Voydanoff <voydanoff@google.com>

[ddk] Remove driver bind() cookie and unbind() callback

Also removed "owner" and "owner_cookie" from internal zx_device_t struct

Adjusted intel-hda audio drivers to create devices to hold driver context
rather than using the driver bind cookie.

Change-Id: I0eca7f6fa3b155be71843291812e7aa9fea5bf55


# f0a8c721 06-Nov-2017 Mike Voydanoff <voydanoff@google.com>

[dev][mbr] Create a device in the driver bind hook

We now create an invisible device in mbr_bind(), which is used
as the device for the first partition in the start thread.

This also allows us to remove one of the last uses of device_unbind()

Change-Id: Idd8c8b9c3875de9e69db550eb182c1e8b1d32c82


# dacc1d80 12-Sep-2017 Mike Voydanoff <voydanoff@google.com>

[dev] Rename "mxdev" to "zxdev" in ddktl and various drivers.

Change-Id: I000e42c26d9f8379de40447690694a35f6be93e2


# f3e2126c 12-Sep-2017 Roland McGrath <mcgrathr@google.com>

[zx] Magenta -> Zircon

The Great Renaming is here!

Change-Id: I3229bdeb2a3d0e40fb4db6fec8ca7d971fbffb94


# 5a43e3e0 15-Jun-2017 Brian Swetland <swetland@google.com>

[ddk] device_op_xyz() -> device_xyz()

Makes the device API a little nicer.

deprecated wrappers provided for the old versions

Change-Id: I84e17282e91364c882085a05fe7bba12101c5f3c


# a6ffebad 14-Jun-2017 Brian Swetland <swetland@google.com>

[ddk][block] new protocol support (3 of n)

Convert MX_PROTOCOL_BLOCK_CORE providers and consumers to the
new style protocol interface.

Change-Id: I3c2b190bade3cb18bfe6b32027715554a74dcf98


# 05849f10 08-Jun-2017 Tim Kilbourn <tkilbourn@google.com>

[dev][block] Use new magenta errors

Change-Id: I340040aa9103937cfb75234dadb6f215003365c8


# 71132506 07-Jun-2017 Brian Swetland <swetland@google.com>

[udev][mbr] rename udev/mbr dev/block/mbr

Change-Id: I0bbdae8825d5547270849abc64ea8a25e979326f