[ARVADOS] created: 9007e6691362f389e2fc282a63233562bffb8b05

git at public.curoverse.com git at public.curoverse.com
Tue Jul 14 09:24:39 EDT 2015


        at  9007e6691362f389e2fc282a63233562bffb8b05 (commit)


commit 9007e6691362f389e2fc282a63233562bffb8b05
Author: Peter Amstutz <peter.amstutz at curoverse.com>
Date:   Mon Jul 13 17:43:57 2015 -0400

    6484: Ignore filehandle flush if object is not writable.

diff --git a/services/fuse/arvados_fuse/__init__.py b/services/fuse/arvados_fuse/__init__.py
index cab44dd..b24aaa6 100644
--- a/services/fuse/arvados_fuse/__init__.py
+++ b/services/fuse/arvados_fuse/__init__.py
@@ -99,7 +99,8 @@ class Handle(object):
         self.obj.dec_use()
 
     def flush(self):
-        return self.obj.flush()
+        if self.obj.writable():
+            return self.obj.flush()
 
 
 class FileHandle(Handle):
diff --git a/services/fuse/tests/test_mount.py b/services/fuse/tests/test_mount.py
index ac5af5b..215b6c1 100644
--- a/services/fuse/tests/test_mount.py
+++ b/services/fuse/tests/test_mount.py
@@ -1047,6 +1047,21 @@ class FuseProjectMvTest(MountTestBase):
         self.pool.apply(fuseProjectMvTestHelper1, (self.mounttmp,))
 
 
+def fuseFsyncTestHelper(mounttmp, k):
+    class Test(unittest.TestCase):
+        def runTest(self):
+            fd = os.open(os.path.join(mounttmp, k), os.O_RDONLY)
+            os.fsync(fd)
+            os.close(fd)
+
+    Test().runTest()
+
+class FuseFsyncTest(FuseMagicTest):
+    def runTest(self):
+        self.make_mount(fuse.MagicDirectory)
+        self.pool.apply(fuseFsyncTestHelper, (self.mounttmp, self.testcollection))
+
+
 class FuseUnitTest(unittest.TestCase):
     def test_sanitize_filename(self):
         acceptable = [

-----------------------------------------------------------------------


hooks/post-receive
-- 




More information about the arvados-commits mailing list