Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cannot disable ram disk #105

Closed
ghost opened this issue Nov 3, 2012 · 5 comments
Closed

Cannot disable ram disk #105

ghost opened this issue Nov 3, 2012 · 5 comments
Assignees
Labels

Comments

@ghost
Copy link

ghost commented Nov 3, 2012

Hi all,

My server has limited RAM but an SSD drive, so I want to disable the ram disk option.

I've set the RAMDISK_STORAGE_PATH to an empty string in the config like so:

#RAMDISK_STORAGE_PATH="/dev/shm/msm"
RAMDISK_STORAGE_PATH=""

But when I start a server, I see messages indicating that it's trying to use the RAM disk.

When I do the config command, it shows the RAMDISK_STORAGE_PATH still defined as the default instead of the empty string I've set:

msm config | grep RAMDISK
RAMDISK_STORAGE_PATH="/dev/shm/msm"

As a secondary issue, I've never created the /dev/shm/msm path nor set up a RAM disk, and I see no errors from the script when it tries to use the RAM disk. This may indicate a lack of error handling in the RAM disk copying code.

I've verified this RAMDISK_STORAGE_PATH setting over and over. I've also tried rebooting, although the config file doesn't seem to be cached anywhere.

Note that the config file is owned by root, but readable by everyone, so I don't think this is a permissions problem. Also, other custom settings I've configured (like the amount of RAM to use for the server) are coming through fine so clearly the init script is finding the config file.

It seems like you cannot override a non-empty default value in the script with an empty value from the config.

Thanks in advance for any help.

Best,
Allen Cronce

@ghost ghost assigned marcuswhybrow Nov 3, 2012
@marcuswhybrow
Copy link

It looks as though MSM doesn't honour empty strings in it's configuration loading mechanism. I'll have a look into why this is so.

@marcuswhybrow
Copy link

Ah... the issue is that MSM only uses the specified value it finds if it is not an empty string. I don't think there is a way around this behaviour without overriding all non-specified settings with empty strings.

The solution would be to have a non-empty string value that has the same meaning. Rest assured that the only place MSM uses that ramdisk location is if a world has been specifically flagged as in-ram by you. So you have nothing to worry about in the short term, and I'll figure out a fix in the longer term.

@ghost
Copy link
Author

ghost commented Nov 4, 2012

Wow! Thanks for getting back to me so quickly. I suspected that the RAM disk related messages were harmless, but it's good to have confirmation.

Maybe another solution would be to add a config parameter that enables or disables the ram disk. This way people could leave the default path, then enable or disable the feature with a separate yes/no value.

What's nice about this approach is that people who disable the feature but may want to turn it on later won't lose the default value for the path. I my case specifically made a commented out copy of the original so that I could retain it for the future.

I'm an OK bash programmer, if you want me to take a shot at adding this and giving it back to you.

I went with MSM over the other choices because I was comfortable with its scope, power, and simplicity. I didn't know that your support would be so responsive. Now I'm even happier with my choice.

Thanks for creating MSM!

Best,
Allen Cronce

@ghost
Copy link
Author

ghost commented Nov 4, 2012

I saw that you updated the init script to support the new RAMDISK_STORAGE_ENABLED config option. I did an update and changed my config, and it works great.

Thanks so much for fixing this!

Best,
Allen Cronce

@marcuswhybrow
Copy link

Happy to hear it! Thanks for alerting me to the problem in the first place.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant