summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar memeplex <memeplex@web>2017-04-17 17:53:23 +0000
committerGravatar admin <admin@branchable.com>2017-04-17 17:53:23 +0000
commite4dcd707f903dfe9ab08228f2d2cd536f8474820 (patch)
tree427f04da8066faff3c46753b0ace8bc1d45ad522
parentbcd99c000f5bf05173c48fbb8bedb0587c34abed (diff)
-rw-r--r--doc/forum/Lots_of_4k_symlinks.mdwn24
1 files changed, 24 insertions, 0 deletions
diff --git a/doc/forum/Lots_of_4k_symlinks.mdwn b/doc/forum/Lots_of_4k_symlinks.mdwn
new file mode 100644
index 000000000..c9113d919
--- /dev/null
+++ b/doc/forum/Lots_of_4k_symlinks.mdwn
@@ -0,0 +1,24 @@
+Hi,
+
+this is a minor issue and probably there is no better solution, but nevertheless I would like to point out it and maybe discuss a little about the issue.
+
+Given that the symlinks generated by annex are pretty large in size (they point to a file named by a large hash number), ext4 is using an entire block (4K) of storage instead of [embedding the symlink into the inode][inode] itself. For the "archivist use case" of annex, this might lead to tens or hundreds of MBs of disk occupied by symlinks which actually don't add up to more than a few MBs.
+
+Here is a real world example:
+
+```
+(ins)carlos@carlos home$ du -hs music/
+56M music/
+(ins)carlos@carlos home$ du -bhs music/
+3.3M music/
+(ins)carlos@carlos home$ ln -s /tmp/x x
+(ins)carlos@carlos home$ du x
+0 x
+(ins)carlos@carlos home$ ln -s /tmp/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xx
+(ins)carlos@carlos home$ du xx
+4 xx
+```
+
+Cheers, Carlos
+
+[inode]: https://kernelnewbies.org/Linux_3.8#head-372b38979138cf2006bd0114ae97f889f67ef46a