#include "btrfs_drv.h"
-#define INTERVAL 15000 // in milliseconds
-
static void do_flush(device_extension* Vcb) {
LIST_ENTRY rollback;
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);
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);