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

Reply via email to