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

Commit 8acff5e9 authored by Ferenc Havasi's avatar Ferenc Havasi Committed by Thomas Gleixner
Browse files

[JFFS2] Call summary collector for all mtd devices with writev support



Do the summary collection in the right place. If the device
was not writebuffered but had c->mtd->writev function
(e.g. blkmtd) the summary collector function was not called.

Signed-off-by: default avatarFerenc Havasi <havasi@inf.u-szeged.hu>
Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
parent 1b01d979
Loading
Loading
Loading
Loading
+6 −5
Original line number Original line Diff line number Diff line
@@ -7,7 +7,7 @@
 *
 *
 * For licensing information, see the file 'LICENCE' in this directory.
 * For licensing information, see the file 'LICENCE' in this directory.
 *
 *
 * $Id: writev.c,v 1.7 2005/09/07 08:34:55 havasi Exp $
 * $Id: writev.c,v 1.8 2005/09/09 15:11:58 havasi Exp $
 *
 *
 */
 */


@@ -42,18 +42,19 @@ static inline int mtd_fake_writev(struct mtd_info *mtd, const struct kvec *vecs,
int jffs2_flash_direct_writev(struct jffs2_sb_info *c, const struct kvec *vecs,
int jffs2_flash_direct_writev(struct jffs2_sb_info *c, const struct kvec *vecs,
			      unsigned long count, loff_t to, size_t *retlen)
			      unsigned long count, loff_t to, size_t *retlen)
{
{
	if (c->mtd->writev)
	if (!jffs2_is_writebuffered(c)) {
		return c->mtd->writev(c->mtd, vecs, count, to, retlen);
	else {
		if (jffs2_sum_active()) {
		if (jffs2_sum_active()) {
			int res;
			int res;

			res = jffs2_sum_add_kvec(c, vecs, count, (uint32_t) to);
			res = jffs2_sum_add_kvec(c, vecs, count, (uint32_t) to);
			if (res) {
			if (res) {
				return res;
				return res;
			}
			}
		}
		}
	}


	if (c->mtd->writev)
		return c->mtd->writev(c->mtd, vecs, count, to, retlen);
	else {
		return mtd_fake_writev(c->mtd, vecs, count, to, retlen);
		return mtd_fake_writev(c->mtd, vecs, count, to, retlen);
	}
	}
}
}