From: Darrick J. Wong <darrick.wong@xxxxxxxxxx> If the caller of t_open_tmpfiles wants to shut down the filesystem, be sure to flush the log when we shut down so that log recovery will have to process all the unlinked temporary files. This is apparently needed to force ext4 to flush updated inode blocks through the journal at all. Signed-off-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx> --- src/t_open_tmpfiles.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/t_open_tmpfiles.c b/src/t_open_tmpfiles.c index 9e70fbaa..da9390fd 100644 --- a/src/t_open_tmpfiles.c +++ b/src/t_open_tmpfiles.c @@ -70,7 +70,11 @@ void die(void) fflush(stdout); if (shutdown_fs) { - int flag = XFS_FSOP_GOING_FLAGS_NOLOGFLUSH; + /* + * Flush the log so that we have to process the + * unlinked inodes the next time we mount. + */ + int flag = XFS_FSOP_GOING_FLAGS_LOGFLUSH; int ret; ret = ioctl(min_fd, XFS_IOC_GOINGDOWN, &flag);