History log of /fuchsia/zircon/system/ulib/blobfs/fsck.cpp
Revision Date Author Comments
# 45274420 16-May-2018 Sean Klein <smklein@google.com>

[blobfs] Use size_t instead of uint64_t for bitmap API

Change-Id: I70cb9a1d8941abe56faaec72e2bfeb34769a3240


# 7c243942 16-May-2018 Sean Klein <smklein@google.com>

[blobfs][fsck] Validate that all blob blocks are allocated

Additionally, identify the blocks that are not allocated
if any are missing.

Change-Id: I2e2a3689e4f46b9b9b4afd2f1d81e4889300a558


# 50908ceb 16-May-2018 Tricia Landers <planders@google.com>

[blobfs] Remove usage of %lu

Change-Id: Ibfd9bd63f0f70eba639bbf573ed3c2f4fc412b92


# dd1523b0 16-May-2018 Tricia Landers <planders@google.com>

[fvm] Add host-side tool option to decompress sparse file.

Change-Id: I76bac360f304b8bbde1f1054983f360d3b1a8829


# 3b972eed 18-Apr-2018 Sean Klein <smklein@google.com>

[minfs][blobfs] Re-implement filesystem teardown

Rather than simply "sync + exit process", implement
a fully featured filesystem teardown procedure, capable
of:
- Tearing down all active connections.
- Syncing underlying media using a non-blocking dispatch loop.
- Use closures to signal both mounters and unmounters on
filesystem destruction.

As a consequence of the controlled filesystem teardown
procedure, make the "filesystem" objects in minfs and blobfs
no longer refcounted, to clarify that "Shutdown" is the
single point of destruction after mounting.

ZX-1577 #done
ZX-1923 #done
ZX-1959 #done
ZX-1576 #comment In Progress

Change-Id: I3f8d71af76e391c41c665434baf86a245a7cd223


# 0e5dbc4e 17-Apr-2018 Tricia Landers <planders@google.com>

[blobfs] [host] Copy inode on VerifyBlob.

Reading the blocks belonging to an inode overwrites the blobfs'
block cache, so the previous inode data is erased. This patch
modifies VerifyBlob to keep a local copy of the inode data.

ZX-2017 #done

Change-Id: I65875f1ac7e515213567737baf293a35af25ee2d


# 60d96f82 30-Jan-2018 Tricia Landers <planders@google.com>

[blobstore] Track reserved blocks and nodes

When a blob is first created, we allocate a node and blocks in memory
to write the blob contents to. The allocated resources should not be
persisted to disk until the client has finished writing all data to
the blob.

Previously there existed the possibility that upon completion of
another blob, allocated nodes/blocks of blobs still being written
would also be persisted to disk. Upon successful cleanup of the
blobs, these blocks would be released; however, in the event of a
disk failure, the disk would be left in an inconsistent state.

This change allows reserved nodes/blocks for blobs that are not yet
completed to be stored safely in memory, without potential compromise
of the integrity of on-disk structures.

ZX-1898 #done

Change-Id: Ic424951154e0b145b498aa777aa8f2ccc0a55d54


# c99c8c07 04-Mar-2018 Adam Barth <abarth@chromium.org>

[blobstore] Rename blobstore to blobfs

Also, mount blobfs at /blob rather than /blobstore.

Change-Id: Ifdc473752ede37b909b30e35dbaac1397565a659