diff options
author | memeplex <memeplex@web> | 2017-04-17 17:53:23 +0000 |
---|---|---|
committer | admin <admin@branchable.com> | 2017-04-17 17:53:23 +0000 |
commit | e4dcd707f903dfe9ab08228f2d2cd536f8474820 (patch) | |
tree | 427f04da8066faff3c46753b0ace8bc1d45ad522 | |
parent | bcd99c000f5bf05173c48fbb8bedb0587c34abed (diff) |
-rw-r--r-- | doc/forum/Lots_of_4k_symlinks.mdwn | 24 |
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 |