Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 403e12ab authored by Artem Bityutskiy's avatar Artem Bityutskiy
Browse files

UBIFS: commit on sync_fs



Commit the journal when the FS is sync'ed. This will make
statfs provide better free space report. And we anyway
advice our users to sync the FS if they want better statfs
report.

Signed-off-by: default avatarArtem Bityutskiy <Artem.Bityutskiy@nokia.com>
parent af2eb563
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -418,6 +418,7 @@ static int ubifs_sync_fs(struct super_block *sb, int wait)
{
	struct ubifs_info *c = sb->s_fs_info;
	int i, ret = 0, err;
	long long bud_bytes;

	if (c->jheads)
		for (i = 0; i < c->jhead_cnt; i++) {
@@ -425,6 +426,17 @@ static int ubifs_sync_fs(struct super_block *sb, int wait)
			if (err && !ret)
				ret = err;
		}

	/* Commit the journal unless it has too few data */
	spin_lock(&c->buds_lock);
	bud_bytes = c->bud_bytes;
	spin_unlock(&c->buds_lock);
	if (bud_bytes > c->leb_size) {
		err = ubifs_run_commit(c);
		if (err)
			return err;
	}

	/*
	 * We ought to call sync for c->ubi but it does not have one. If it had
	 * it would in turn call mtd->sync, however mtd operations are