Fix JFFS2 sync silent failure
JFFS2 does not appear to set s_bdi anywhere. And as of 32a88aa1
,
__sync_filesystem() will return 0 if s_bdi is not set. As a result,
sync_fs() is never called for jffs2 and whatever remains in the wbuf
will not make it to the device.
Fix that up by assigning the mtd bdi.
Signed-off-by: Jörn Engel <joern@logfs.org>
Acked-By: David Woodhouse <David.Woodhouse@intel.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
This commit is contained in:
Родитель
424264b7b2
Коммит
6de9400250
|
@ -13,6 +13,7 @@
|
|||
#include <linux/mtd/super.h>
|
||||
#include <linux/namei.h>
|
||||
#include <linux/ctype.h>
|
||||
#include <linux/slab.h>
|
||||
|
||||
/*
|
||||
* compare superblocks to see if they're equivalent
|
||||
|
@ -44,6 +45,7 @@ static int get_sb_mtd_set(struct super_block *sb, void *_mtd)
|
|||
|
||||
sb->s_mtd = mtd;
|
||||
sb->s_dev = MKDEV(MTD_BLOCK_MAJOR, mtd->index);
|
||||
sb->s_bdi = mtd->backing_dev_info;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче