Messages in this thread | | | From | Bodo Eggert <> | Subject | Re: replace() system call needed (was Re: EXT4-ish "fixes" in UBIFS) | Date | Tue, 31 Mar 2009 23:27:33 +0200 |
| |
Pavel Machek <pavel@ucw.cz> wrote:
> My proposal is > > rename() stays. > > replace(src, bar) is rename that ensures that bar will contain valid > data after powerfail.
This can be done using implicit logic:
->E.g. on close(), mark inodes without being sync()ed as poisoned. (I can think of more sophisticated logic, but ...) ->On completing the inode with the delayed allocations, unpoison it. ->Don't commit rename()s if the corresponding inode is poisoned.
Et Voila, everything replace is supposed to guarantee is guaranteed.
| |