[BTRFS]
[reactos.git] / reactos / drivers / filesystems / btrfs / flushthread.c
index 16795eb..48eabad 100644 (file)
@@ -17,8 +17,6 @@
 
 #include "btrfs_drv.h"
 
-#define INTERVAL 15000 // in milliseconds
-
 static void do_flush(device_extension* Vcb) {
     LIST_ENTRY rollback;
     
@@ -28,8 +26,8 @@ static void do_flush(device_extension* Vcb) {
 
     ExAcquireResourceExclusiveLite(&Vcb->tree_lock, TRUE);
 
-    if (Vcb->need_write)
-        do_write(Vcb, &rollback);
+    if (Vcb->need_write && !Vcb->readonly)
+        do_write(Vcb, NULL, &rollback);
     
     free_trees(Vcb);
     
@@ -49,7 +47,7 @@ void STDCALL flush_thread(void* context) {
     
     KeInitializeTimer(&Vcb->flush_thread_timer);
     
-    due_time.QuadPart = -INTERVAL * 10000;
+    due_time.QuadPart = (UINT64)Vcb->options.flush_interval * -10000000;
     
     KeSetTimer(&Vcb->flush_thread_timer, due_time, NULL);