Messages in this thread | | | Date | Wed, 27 Feb 2013 21:10:25 +0100 | Subject | Re: btrfs crash when low on memory. | From | Ahmet Inan <> |
| |
On Wed, Feb 27, 2013 at 7:26 PM, Josef Bacik <jbacik@fusionio.com> wrote: > On Wed, Feb 27, 2013 at 07:31:11AM -0700, Ahmet Inan wrote: >> > Yeah we have a lot of >> > >> > ptr = kmalloc(); >> > BUG_ON(ptr); >> > >> > everywhere. I'll fix this one up but I really need to sit down and go through >> > all of them and make sure we do the right thing in all these places. Thanks, >> >> But what would be the right thing to do when you got no memory? >> Spinlock until you can kmalloc? Pre-reserve some memory? >> > > Return ENOMEM? We have a way to abort transactions now, if it's in a horrible > of enough spot we can just abort the transaction and let the user deal with the > aftermath, it's nicer than panicing. Thanks,
youre right. i am only afraid of silent corruption of data on aborts: our guys here trigger OOM all the time with their compilers and numerical codes (go figure). and until now we had no more aborts / panics because of "vm.min_free_kbytes = 65536" and thus no corruption.
my point is: i like a freezing computer more than an corrupting computer, even if its a server. reboot to the rescue.
Ahmet
| |