History log of /fuchsia/zircon/system/ulib/fs/unmount.cpp
Revision Date Author Comments
# 11a637e8 12-Sep-2018 Sean Klein <smklein@google.com>

[fs][fidl] Replaced filesystem ioctls with FIDL.

This patch allows "ioctl" to be removed from the
C++ VFS Vnode interface.

IOCTL_VFS_MOUNT_FS -> Mount()
IOCTL_VFS_UNMOUNT_FS -> Unmount()
IOCTL_VFS_UNMOUNT_NODE -> UnmounteNode()
IOCTL_VFS_QUERY_FS -> QueryFilesystem()
IOCTL_VFS_MOUNT_MKDIR_FS -> MountAndCreate()
IOCTL_VFS_GET_DEVICE_PATH -> GetDevicePath()
IOCTL_VFS_WATCH_DIR -> WatchDir()

Test: fs-management / fs / blobfs / fvm tests, df manually

Change-Id: Iefe8ec251ca6b8f4e4578ceb61bae6dff7a59e3d


# 3cec6c3e 25-Sep-2018 Adam Barth <abarth@google.com>

[fdio] Remove redundant ordinal definitions

Test: No behavior change
Change-Id: Id0d174229deda2eecdb3ba5ccdfc028053f20d37


# 593d7113 20-Jul-2018 Sean Klein <smklein@google.com>

[fdio][fidl][devmgr][fs] Deprecate Remote IO, enable FIDL2

Test: runtests (fs tests, fdio tests)
ZX-1919 #done

Change-Id: I459eb79546a3b952633faad2bb4914d9a3c68e05


# 7f136ea4 18-Jul-2018 Sean Klein <smklein@google.com>

[fidl] Use autogenerated fuchsia-io header

Remove hand-rolled verison.

Test: CQ

ZX-1919 #comment In Progress

Change-Id: I8816a9616067e4d437385db4d552d385e33eb975


# 53a24913 21-Jun-2018 Adam Barth <abarth@chromium.org>

[syscalls] Remove read_status from zx_channel_call

This parameter no longer has a purpose. Also, remove ZX_ERR_CALL_FAILED.
This status code no longer has a purpose.

Test: No behavior change
Change-Id: I71945ea9d1d6d591a20476106df1e598dfaf97b1


# 379f22fa 06-Jun-2018 Adam Barth <abarth@google.com>

[fdio] Move headers into lib/fdio/...

Change-Id: Ie8d74e716da913bf6e2672c4acf8cd67b4962b7f


# 0c92e1de 26-May-2018 Sean Klein <smklein@google.com>

[fdio] Regenerate I/O bindings to use fuchsia_io prefix

Change-Id: I444cda2448ca2a560abb7a38513f40005ac2fdce


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

[fidl][io] Regenerate, update usage of io bindings

Change-Id: I9990f4c98a2c57ee8d3e953093b7be7e2d4c71e4


# 129af6a8 02-Apr-2018 George Kulakowski <kulakowski@google.com>

[fidl] Rename fidl2 things to just fidl

Change-Id: I17780c327272c554b4c80a7c5fc64df78d0a5601


# 59c8bc29 15-Mar-2018 Sean Klein <smklein@google.com>

[fidl2] Recompile io.fidl2

The C FIDL2 parser has changed in the past month;
this patch adjusts the Zircon codebase to deal
with those changes.

Regenerated using:
./build-x64/tools/fidl2 \
--c-header system/ulib/fdio/include/fdio/io.fidl2.h \
--files system/ulib/fdio/include/fdio/io.fidl2

Change-Id: Ia7671f201dbd89b44149ce744d5c247f206da89b


# a56218f7 25-Jan-2018 Sean Klein <smklein@google.com>

[rio][fidl] Convert RemoteIO operations to FIDL2

This patch updates all Zircon servers to respond to
either RIO or FIDL2 requests. This will allow
compatibility with clients speaking either protocol.

Although this patch allows clients and servers to communicate
with FIDL2 instead of RIO, it is a slight modification
from strict FIDL2 standards: Most servers don't implement
the exact FIDL2 Object / Node / File / Directory protocols,
they just implement a subset of all operations. Updating
these servers to exactly implement these interfaces
will occur in subsequent patches.

ZXRIO_FIDL toggle can be used to request RIO or FIDL2 client
requests.

TO-496 #done
ZX-1358 #comment In Progress

Change-Id: Ia52f469e553be977deb3d0f280ba3efaf36ed893


# 7dcf943b 30-Jan-2018 Sean Klein <smklein@google.com>

[fs] Shift vfs_unmount_handle back to using a deadline

US-419 #done

Change-Id: I77c65d1923508a52f01cd3177f3dde72de0b2ed2


# acf3f00a 29-Jan-2018 Sean Klein <smklein@google.com>

[fs-management] Add timeout for failed mount tests

Zircon filesystem mounting is a multi-stage process:
1) Handles to the root Vnode and block device are created
2) A filesystem process is mounted, which begins
loading necessary structures to serve the root Vnode.
3) The root Vnode handle is passed to a mount point, where
it is attached.

The "fs-management" test suite attempts testing multiple cases
where step (3) fails. Due to the fifo-based block protocol (which
requires exclusive access to the underlying block device), if a
filesystem is not properly torn down, the NEXT mounted filesystem
attempting to use the underlying block device may discover that it is
already in use.

The following presents a sequence of events where this is possible:

Test A: Start, Steps (1), (2), (3 -- fails, as expected)
Test B: Start
Test A: Start (but don't finish) unmounting filesystem
Test B: Steps (1), (2 -- fails, unexpectedly, since block device is in
use)

This patch adds a small timeout to the locations where, after failing
to mount, a filesystem is unmounted. This gives the underlying
filesystem a moment to clean itself up before continuing.

An alternative, adding timeout code to the "failed mounting" pathway
on the filesystem server is cleaner from a testing perspective, but
wasteful from a practical perspective: there is no reason a failed
mount should block the parent (mount point) server for any amount
of time.

ZX-1629 #done

Change-Id: Ie07459cd96f3dad859a3cadc3083f401c2d54f39


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

[zx] Magenta -> Zircon

The Great Renaming is here!

Change-Id: I3229bdeb2a3d0e40fb4db6fec8ca7d971fbffb94


# 95e06a4f 08-Sep-2017 Sean Klein <smklein@google.com>

[fs] VFS-related cleanups

- RemoteContainer, WatchContainer moved to their own headers.
(Vnode be moved in a later patch).
- V_FLAG --> VFS_FLAG
- "vfs-XYZ.cpp" renamed to "XYZ.cpp" (headers too)
- WatcherBuffer (implementation detail) moved out of header.

MG-1117 #comment in-progress

Change-Id: I39471b142564d3d8bcf90a05949073d0fa1b32d3