-
Notifications
You must be signed in to change notification settings - Fork 79
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
Disable scrub by default? #73
Comments
For single device setups: I find scrub is still helpful for detecting bitrot as soon as possible, then restore from a backup. |
How will scrub run in background help to detects problems?
|
I was referring how it is helpful. It is not needed in a sense that no other linux native FS provides that. But it's a feature that has its worth. I'm not on board on running these routines in background though. Here scrub runs pretty fast so far, but in your case I'd look to run it at an appropriate moment manually. |
With the default it's hard to please everybody. The load caused by scrub has appeared after the CFQ (io scheduler) has been replaced by mq-deadline that does not implement |
At least on a setup with duplication, not running scrub seems like a bad idea. I've had it fix many single-bit cosmic-ray errors. On a setup without duplication, yeah that's more complex. It doesn't really do any good to do a scrub and then just throw away any error messages. What's really needed is a way to get the information to a human being in a position to make use of the information. This has two components. (1) Getting the fact that an unrecoverable storage corruption event has occurred. This seems straightforward, although I must admit that it doesn't seem properly available. It does seem like something that there should be an official unified API for which desktop systems etc can then queue and present appropriately. But the killer is (2) the information should be presented in a fashion that allows more humans to make use of it. So, an inode number is not very helpful for your typical non-expert. It should be resolved to a filename, and options for dealing with it should be automated and presented in a pleasant way. Like, delete the file / test the problematic block and add it to a badblocks list if it still fails / recover the file from backup, or download and reinstall it from the appropriate package if it's a system file, etc. That's all beyond the scope of btrfsmaintenance I suppose. But the fact that there's no such infrastructure puts btrfsmaintenance in an awkward position, because btrfsmaintenance is in the job of using approved mechanisms for finding problems, but it doesn't have any good way of actually dealing with them. |
Maybe it is a good idea to state that in the readme? i.e. change to bfq scheduler. |
Or better still include a script to change to bfq? |
Yes, please!
before starting the btrfs scrub (and maybe resetting the scheduler to the original value afterwards) would be really helpful! |
Re btrfs scrub killing the system, and dealing with it by enabling bfq or such ... this seems like something the btrfs scrub command should be doing internally. It should have an option, like |
I would suggest to disable scrub by default. It loads CPU really severely, causes very high Load Average and is not really needed when there is no RAID, I think.
The text was updated successfully, but these errors were encountered: