From d5aff8eb7685e855368a34cc6f635989cd974b50 Mon Sep 17 00:00:00 2001
From: Daira Hopwood <daira@jacaranda.org>
Date: Tue, 27 Oct 2015 21:39:05 +0000
Subject: [PATCH] Strip any long path marker in the input to flush_volume.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
---
 src/allmydata/util/fileutil.py | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/allmydata/util/fileutil.py b/src/allmydata/util/fileutil.py
index 1133c261..0366daab 100644
--- a/src/allmydata/util/fileutil.py
+++ b/src/allmydata/util/fileutil.py
@@ -546,8 +546,12 @@ if sys.platform == "win32":
 
     # <http://social.msdn.microsoft.com/forums/en-US/netfxbcl/thread/4465cafb-f4ed-434f-89d8-c85ced6ffaa8/>
     def flush_volume(path):
-        drive = os.path.splitdrive(os.path.realpath(path))[0]
+        abspath = os.path.realpath(path)
+        if abspath.startswith("\\\\?\\"):
+            abspath = abspath[4 :]
+        drive = os.path.splitdrive(abspath)[0]
 
+        print "flushing %r" % (drive,)
         hVolume = CreateFileW(u"\\\\.\\" + drive,
                               GENERIC_WRITE,
                               FILE_SHARE_READ | FILE_SHARE_WRITE,
-- 
2.45.2