+ /* Have overquota flag, trying sync write to check
+ * whether indeed out of quota */
+ if (result == -EDQUOT) {
+ cl_page_get(page);
+ result = vvp_io_commit_sync(env, io,
+ plist, 0, to);
+ if (result >= 0) {
+ io->ci_noquota = 1;
+ cl_page_own(env, io, page);
+ cl_page_list_add(plist, page);
+ lu_ref_add(&page->cp_reference,
+ "cl_io", io);
+ result = cl_io_commit_async(env, io,
+ plist, 0, to,
+ mkwrite_commit_callback);
+ io->ci_noquota = 0;
+ } else {
+ cl_page_put(env, page);
+ }
+ }
+