X-Git-Url: http://git.vrable.net/?a=blobdiff_plain;f=nfs3%2Frpc.c;h=a7d108c6df96388556d317452eae1f8fc78d2f1e;hb=f57fa12ec60108a9338ca5c5c072ec6e0ea1b745;hp=7b73840c62349c046ab77d67cee02f65651353c4;hpb=abc0e904afb351494d215a28da62011052852a65;p=bluesky.git diff --git a/nfs3/rpc.c b/nfs3/rpc.c index 7b73840..a7d108c 100644 --- a/nfs3/rpc.c +++ b/nfs3/rpc.c @@ -471,7 +471,6 @@ nfs_program_3(RPCRequest *req) req->xdr_result = _xdr_result; result = (*local)((char *)req->args, req); - bluesky_flushd_invoke(fs); bluesky_debug_dump(fs); return; @@ -483,10 +482,22 @@ nfs_program_3(RPCRequest *req) static GMainContext *main_context; static GMainLoop *main_loop; +static gboolean async_flushd(gpointer data) +{ + bluesky_flushd_invoke(fs); + return TRUE; +} + static async_rpc_init() { main_context = g_main_context_new(); main_loop = g_main_loop_new(main_context, FALSE); + + /* Arrange to have the cache writeback code run every five seconds. */ + GSource *source = g_timeout_source_new_seconds(5); + g_source_set_callback(source, async_flushd, NULL, NULL); + g_source_attach(source, main_context); + g_source_unref(source); } struct rpc_call_header {