Thank you for your response! The hardware is essentially battery-backed RAM, as is common in embedded devices. Treating this a file-system gives certain advantages.
We must assume that power-fail can occur at ANY time during operation. Unfortunately, the value of "128" was correct. We require a small block size for our intended usage. Worst case, we could support a block size of "256", but larger than that we could not do. -----Original Message----- From: Ryusuke Konishi [mailto:[email protected]] Sent: Friday, June 05, 2009 12:31 PM To: [email protected]; Spiller, Patrick Subject: Re: [NILFS users] power-fail tolerance Hi, On Wed, 3 Jun 2009 08:58:14 -0700, "Spiller, Patrick" wrote: > What is the current power-fail tolerance of the system? > > In other words, are current versions of NILFS suited to sudden > power-fails in a 100% guarenteed recoverable state? > > If not 100%, then what is the chance of a sudden power-fail > resulting in a recoverable state? It depends on the hardware, sublayer driver, and disk-cache setting that you are using. For example, nilfs uses io-barrier carefully to ensure filesystem reliability, but some devices ignore the barriers and such affairs are spoiling filesystem layer effort. Except the fact, nilfs is designed to be recoverable from unexpected power failures like journaling filesystems. In general, nilfs is well suited for such recovery because nilfs never overwrites existing blocks except superblocks and reclaimed blocks by GC. Disk write of nilfs is ensured to be atomic with CRC checksums, and the result of incomplete write is ignored. You will see a message "NILFS: recovery complete." on mount time after you met an unclean shutdown. To tell you the truth, we have a few mount failure problems reported in this mainling list after unclean shutdown. That's going on for the nilfs root filesystem built in pendrives. I'm investigating the problem cooperating with some here. > Can the block size be reduced down to 128 bytes? You mean 1028 bytes? If I remember correctly, the minimum block size of linux filesystems is 1028 bytes. Nilfs is supporting block sizes smaller that 4KB. Cheers, Ryusuke Konishi _______________________________________________ users mailing list [email protected] https://www.nilfs.org/mailman/listinfo/users
