From e4dcd707f903dfe9ab08228f2d2cd536f8474820 Mon Sep 17 00:00:00 2001 From: memeplex Date: Mon, 17 Apr 2017 17:53:23 +0000 Subject: --- doc/forum/Lots_of_4k_symlinks.mdwn | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 doc/forum/Lots_of_4k_symlinks.mdwn (limited to 'doc') 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 -- cgit v1.2.3