]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
doc: Restored "Differences from Posix" to /doc/dev
authorJohn Wilkins <john.wilkins@inktank.com>
Mon, 24 Sep 2012 04:50:53 +0000 (21:50 -0700)
committerJohn Wilkins <john.wilkins@inktank.com>
Mon, 24 Sep 2012 04:50:53 +0000 (21:50 -0700)
Fixes: #3185
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
doc/dev/differences-from-posix.rst [new file with mode: 0644]

diff --git a/doc/dev/differences-from-posix.rst b/doc/dev/differences-from-posix.rst
new file mode 100644 (file)
index 0000000..c1366e0
--- /dev/null
@@ -0,0 +1,17 @@
+========================
+ Differences from POSIX
+========================
+
+.. todo:: delete http://ceph.com/wiki/Differences_from_POSIX
+
+Ceph does have a few places where it diverges from strict POSIX semantics for various reasons:
+
+- Sparse files propagate incorrectly to tools like df. They will only
+  use up the required space, but in df will increase the "used" space
+  by the full file size. We do this because actually keeping track of
+  the space a large, sparse file uses is very expensive.
+- In shared simultaneous writer situations, a write that crosses
+  object boundaries is not necessarily atomic. This means that you
+  could have writer A write "aa|aa" and writer B write "bb|bb"
+  simultaneously (where | is the object boundary), and end up with
+  "aa|bb" rather than the proper "aa|aa" or "bb|bb".