aboutsummaryrefslogtreecommitdiff
path: root/doc/forum/Lots_of_4k_symlinks.mdwn
blob: 7f90f874db52f13947f1cbeb21024c04379a87ff (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Hi, 

this is a minor issue and probably there is no better solution, but nevertheless I would like to point it out 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