History log of /fuchsia/zircon/system/ulib/memfs/include/lib/memfs/cpp/vnode.h
Revision Date Author Comments
# c86c2d4d 27-Sep-2018 Yifei Teng <yifeit@google.com>

[memfs] Implement QueryFilesystem FIDL interface.

Allows querying disk pressure.

Test: Unit tested on QEMU.
Change-Id: I512f941b33e215544b84f2b039c30b6c78a4cbde


# 0fb49a38 25-Sep-2018 Yifei Teng <yifeit@google.com>

[memfs] Track and limit number of pages used in a memfs.

Creating/writing to files which exceeds the page limit
will fail with ZX_ERR_NO_SPACE.
After we switch from Ioctl to FIDL interface, memfs can
expose free/used space information.

ZX-2699 #done

Test: unit tests in QEMU.

Change-Id: If9f43aab3c5d6645e9405dade69df71698cfdf11


# e4b452a2 25-Sep-2018 Sean Klein <smklein@google.com>

[memfs] Deprecate the non-vmofile path to CreateFromVmo.

Deprecating this path ensures that VnodeFiles always create
their own VMOs, which simplifies their accounting.

Test: CQ

Change-Id: Ibcf7da9c0839e03e7dfa12ee066f226f3d9ea69a


# 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


# 0e71eb4d 14-Sep-2018 Adam Barth <abarth@google.com>

[fd] Rename zxrio_object_info_t to zxrio_node_info_t

The new name matches the name in the FIDL protocol.

Test: No behavior change.
Change-Id: I742b72c2adbbaaf6aa16063edad7126a31d74bae


# 938d91ee 13-Jul-2018 Sean Klein <smklein@google.com>

[memfs][fs] Test and ensure the behavior of 'map after truncate' is safe

- Add multiple tests for the 'writing out of bounds',
'truncate to extend', and 'write to extend' cases.
- Ensure that memfs (the only filesystem capable of granting
mutable mappings) complies with these test cases.

Test: /boot/test/fs/fs-test -f memfs

Change-Id: I73dcb75e94c87fe9ca00d4bf7ea0c95a16e32e6f


# 04a00841 12-Jul-2018 Sean Klein <smklein@google.com>

[memfs] Avoid shrinking the VMO corresponding to a file

Instead, decommit the underlying memory when a logical
file shrinks, but keep the VMO a larger size.

This prevents mapped memfs files from faulting clients.

Test: /boot/test/fs/fs-test -f memfs

Change-Id: Ic0e1579e874ea2efd2becb96e151719c9171e0af


# ce64f969 12-Jul-2018 Sean Klein <smklein@google.com>

[memfs] Use zx::vmo instead of raw handles

Test: fs-tests

Change-Id: I74006a88b5c551d37f6de806a5531c9cc18076b2


# c1fade81 27-Jun-2018 Sean Klein <smklein@google.com>

[minfs][memfs] Ensure the appropriate FDIO_PROTOCOL type is set

Previously, these filesystems returned the default protocol type:
FDIO_PROTOCOL_SERVICE. This functioned correctly for the Zircon
C library, but was insufficient for more strict implementations
of the FIDL protocol (which refused to use "file / directory"
methods upon seeing the SERVICE type).

Test: fs-tests
ZX-2305 #done

Change-Id: I8eb438d5491f0d72c81064415669b5e58ff36bea


# cf05a359 22-Jun-2018 Sean Klein <smklein@google.com>

[memfs] Deprecate ioctl_vfs_vmo_create

This API was difficult to use, and allowed some
unsafe behavior, for the fd_publish_data_sink client.

However, 'fd_publish_data_sink' is obsolete, so
both are removed by this patch.

ZX-2279 #comment In Progress
Test: /boot/test/fs/fs-test -f memfs

Change-Id: I84e1765117c907806ed77813ec50744060501796


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

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

Change-Id: Ie8d74e716da913bf6e2672c4acf8cd67b4962b7f


# 2bc0d8c7 25-May-2018 Sean Klein <smklein@google.com>

[memfs] Split memfs into C / C++ libraries

For clients which utilize memfs to create
temporary filesystems, export a C ABI shared
library.

Internally, this C library uses a C++ library,
which is exported as source.

Change-Id: I73b95a2a2b8c4870d1b07f5f2f2525f4b0cd4e9f