[Yaffs] [PATCH] Flush super when remount ro in order to save…

Top Page
Attachments:
Message as email
+ (text/plain)
Delete this message
Reply to this message
Author: Liao Hua
Date:  
To: yaffs, cdhmanning
CC: wangfangpeng1, chenjie6
Subject: [Yaffs] [PATCH] Flush super when remount ro in order to save checkpoint
From: liaohua <>

If the dev is remounted ro, no checkpoint data is saved.
And that will increase the time for next mount.

Signed-off-by: liaohua <>
---
yaffs_vfs_multi.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/yaffs_vfs_multi.c b/yaffs_vfs_multi.c
index 3044db7..5956a24 100644
--- a/yaffs_vfs_multi.c
+++ b/yaffs_vfs_multi.c
@@ -2749,14 +2749,20 @@ static int yaffs_remount_fs(struct super_block *sb, int *flags, char *data)

     dev = sb->s_fs_info;
     was_read_only = dev->read_only;
-    dev->read_only = read_only;


     if (was_read_only && !read_only) {
         yaffs_gross_lock(dev);
+        dev->read_only = read_only;
+        yaffs_bg_enable = 1;
         yaffs_guts_cleanup(dev);
         yaffs_gross_unlock(dev);
         yaffs_bg_start(dev);
     } else if (!was_read_only && read_only) {
+        yaffs_gross_lock(dev);
+        yaffs_bg_enable = 0;
+        yaffs_flush_super(sb, 1);
+        dev->read_only = read_only;
+        yaffs_gross_unlock(dev);
         yaffs_bg_stop(dev);
     }


--
2.26.2.windows.1