--- Begin Message ---
Hello

This bug (or better linux problem) comes from the daimonin server
but it will effect cf server too.

The last 2 days i encountered strange server downs for the daimonin beta 3
server. As i investigated, i saw that the server was not able to create 
a new player dir.

mkdir() failed with the errno EMLINK.

Please read here: http://www.wlug.org.nz/EMLINK

It was as described in the article. We got 32000 player dirs in the
the data/players directory.

The bad thing: Our server runs a pre-installed Ubuntu 64bit with raid1,
pre-installed by the provider company. I am pretty sure its not easy,
not doable without problems and perhaps not possible to change the file
system.
For other servers which are perhaps guests on server boxes is a file
system change impossible too - we have to use what we find there.

In beta 4 we fixed this some month ago by changing the /data/players
structure like sourceforge manages their user accounts:

we take the first 2 characters of a name, and sort it in a new subfolder
structure like this..

the name "aab1" and "aab2" will be sorted in this:

data/players/
a/
a/aa/
a/ab/aab1 <- player folder
a/ab/aab2 <- another player
a/ac/
a/ad/
..
..
b/
b/ba/
b/bb/
...

This works very fine and should have a good effect too under files systems
which scale up with many sub folders (in cpu time).

Of course its not a "100%" fix. In theory, a server can have such many
players,
that even a sub folder hit the 32000 folder problem.

Possible fixes then: 
- use explicit a file system which don't use hard links.
- change to a DB storing (but there we have performance and
storing problems perhaps too under different OS?)

cu
MT




--- End Message ---
_______________________________________________
crossfire mailing list
[email protected]
http://mailman.metalforge.org/mailman/listinfo/crossfire

Reply via email to