History log of /fuchsia/zircon/system/utest/fs/test-minfs.cpp
Revision Date Author Comments
# 0f76a22a 26-Sep-2018 Sean Klein <smklein@google.com>

[fs][minfs] Allow filesystems to implement custom interfaces

As a simple test case, propagate the metrics collection API
to minfs, and test these fields (which previously could
only be dumped to stdout).

ZX-2710 #done
Test: Expanded minfs tests

Change-Id: I6b45693731d912be3fab7d95f0bc1ff7d52fb593


# 58c28871 21-Sep-2018 Sean Klein <smklein@google.com>

[minfs] Return FVM allocation info through Minfs API

Additionally...
- Fix the FVM Query API (the partition manager and
individual partitions should return the same info).
- Export a constant from Minfs identifying the minimal
number of slices allocated to a MinFS partition.
- Expand the minfs "query info" tests, deriving expected
values rather than relying on magic numbers.

Test: /boot/test/fs/fs-test (test-minfs expanded)
ZX-2165 #comment In Progress

Change-Id: Ic72d595a97d06573d979df3999821ddddbfb1659


# 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


# 5159ad46 23-May-2018 Tricia Landers <planders@google.com>

[minfs] Pre-reserve inodes/blocks to mitigate mid-op failures.

The most common failure for a Minfs operation (in particular for
writes) occurs when we attempt but are unable to allocate a new
block or inode. To ensure that this kind of error cannot happen
partway through an operation and leave the in-memory metadata in
an inconsistent state, the maximum number of blocks required for
an operation will be "reserved" prior to any state-changing calls.

In many cases the reserved elements will be an over-estimated, in
which case they will be unreserved at the end of the operation.

Additionally, in cases where a directory entry must be appended in
conjunction with other updates, ensure that the directory has
space for the new entry before making any other changes.

Test: TestFullOperations in utest/fs/test-minfs

Change-Id: I16bad01344723dc6b1dddfd2a04c919846032597


# be1f882a 21-Jun-2018 Sean Klein <smklein@google.com>

[fs] Update filesystem tests to use custom disk sizes.

- Allow tests to specify a minimum disk size and
custom FVM slice size.
- If running against a ramdisk, create a disk using
the requested parameters.
- If running against a real disk, verify it has at
least as much space as the ramdisk would before
executing the test.
- Update the "default disk size" to be significantly
smaller, with manual annotations for tests that require
larger disks. This will allow the fs-test suite to run
against smaller disks, but without failure.

ZX-1604 #comment In Progress

Test: Ramdisk and real disks
$ /boot/test/fs-test -f minfs
$ /boot/test/fs-test -f minfs -d /dev/class/block/000

Change-Id: If139bb947734ce411af839b100c8557ea9378a91


# d32fedf3 10-May-2018 Sean Klein <smklein@google.com>

[fs] Execute fs integration tests on mount point in local namespace

This patch reduces the dependency on global "/tmp".

ZX-1722 #comment Done
ZX-1939 #comment In Progress

Change-Id: Ic0ec2e1fe52fafc0e0edb65fa2884af970d9571f


# 6969f221 09-Apr-2018 Tricia Landers <planders@google.com>

[minfs] Count reserved bitmap blocks as allocated.

Change-Id: I658f6a457d53c0a6330e97505af34735f01dd0e4


# afc59920 21-Dec-2017 rvargas <rvargas@google.com>

[storage] Have ioctl_vfs_query_fs return a unique fs id.

This is a "random" instance id to be used for statfs calls.

Minfs and Blobstore now create a unique instance identifier.

ZX-1319
ZX-1391

Change-Id: Ifb77695bf6559f3e1fa3cd4362d026af1bd13926


# e650d408 16-Nov-2017 rvargas <rvargas@google.com>

[storage] Have ioctl_vfs_query_fs return a file-system identifier.

This is a short id that is meant to be usable for an statfs call.

Minfs and Blobstore now return the low order bytes of the magic fs id,
which mostly starts spelling the FS name.

ZX-1319

Change-Id: I2d243c6d3ea42c8a3b0324f2d58c46e328a65ebb


# e7d169f7 13-Nov-2017 rvargas <rvargas@google.com>

[fs] Implement statfs / fstatfs.

This cl:
- Extends vfs_query_info to return the block size and max filename length.
- Extends minfs and blobstore to return the new values.
- Adds a unix level test for the statfs implementation, with a single minfs volume.
- Adds minfs and blobstore tests for ioctl_vfs_query_fs.

ZX-1319

Change-Id: I9bef3a7257df666e9adecbc7e33c436b3734a555