Re: Fast ext4 cleanup to avoid data loss after power failure

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 10/3/14 10:39 AM, Clemens Gruber wrote:
> On 10/03/2014 04:08 PM, Lukáš Czerner wrote:
>> What exactly is the problem you're trying to solve ? Does it concern
>> specific application ?
> 
> It's a software to control and configure dispensing equipment in a bar.
> The problem is that power is lost frequently and the only warning is the
> mentioned GPIO about 1.5 to 2 seconds in advance, then the caps are drained.
> This happens very often and I have to prevent it from damaging the
> filesystem.
> 
> I did not mention it before, because I was not sure if it is relevant,
> but I am running Linux 3.17-rc7 on the board.
> 
>> So what you expect to happen if the power failure happens in the
>> middle of the write to the eMMC ?
> 
> With the 1.5 second delay, I'd like to stop the application, before that
> happens.
> 
>> I'd avoid the need to deal with this at all. File system
>> (journal) itself will protect you from metadata corruption (file
>> system corruption). But the application has to protect it's own
>> important files for data consistency (data=journal will not help
>> you, nor commit=1).
>>
>> The usual and simple way for the application to deal with this is to
>> use temporary file, fsync the changes to make sure that everything
>> hit the disk and then atomically rename the file to replace the
>> original. That way your file will always by in consistent state. It
>> will either have the new content, or the old one, not mix of both.
> 
> Thank you, this approach sounds good! I will change the application
> accordingly.
> So the only necessary step to do when the GPIO triggers, is to quit the
> applications writing to the eMMC. If I use that write, fsync, rename
> strategy, I guess I could even SIGKILL them.

http://lwn.net/Articles/457667/

is a good overview of data persistence best practices, FWIW.

-Eric

--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Reiser Filesystem Development]     [Ceph FS]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite National Park]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]     [Linux Media]

  Powered by Linux