summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Joey Hess <joeyh@joeyh.name>2015-04-03 14:57:06 -0400
committerGravatar Joey Hess <joeyh@joeyh.name>2015-04-03 14:57:10 -0400
commit2d7eed839bccbacee36f44905bb1a1b8e7437ef9 (patch)
treed5f035dc74c5143ab59dd56ef450b81db40382b0
parentfff817f70ce3c86d873775c0d113b074cc486ff8 (diff)
init: Improve fifo test to detect NFS systems that support fifos but not well enough for sshcaching.
ssh tries to hard link a fifo, and if not, complains: muxserver_listen: link mux listener .git/annex/ssh/SHARD1@iabak.archiveteam.org.QK8zOCbtNebI7q54 => .git/annex/ssh/SHARD1@iabak.archiveteam.org: Operation not permitted
-rw-r--r--Annex/Init.hs4
-rw-r--r--debian/changelog2
2 files changed, 6 insertions, 0 deletions
diff --git a/Annex/Init.hs b/Annex/Init.hs
index 3f27a1172..50f4d8522 100644
--- a/Annex/Init.hs
+++ b/Annex/Init.hs
@@ -162,13 +162,17 @@ probeFifoSupport = do
#else
tmp <- fromRepo gitAnnexTmpMiscDir
let f = tmp </> "gaprobe"
+ let f2 = tmp </> "gaprobe2"
createAnnexDirectory tmp
liftIO $ do
nukeFile f
+ nukeFile f2
ms <- tryIO $ do
createNamedPipe f ownerReadMode
+ createLink f f2
getFileStatus f
nukeFile f
+ nukeFile f2
return $ either (const False) isNamedPipe ms
#endif
diff --git a/debian/changelog b/debian/changelog
index adddf91aa..5fde8b216 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -26,6 +26,8 @@ git-annex (5.20150328) UNRELEASED; urgency=medium
* Significantly sped up processing of large numbers of directories
passed to a single git-annex command.
* version: Add --raw
+ * init: Improve fifo test to detect NFS systems that support fifos
+ but not well enough for sshcaching.
-- Joey Hess <id@joeyh.name> Fri, 27 Mar 2015 16:04:43 -0400