On Tue, 18 Mar 2014, tytso@xxxxxxx wrote: > Date: Tue, 18 Mar 2014 13:14:26 -0400 > From: tytso@xxxxxxx > To: Lubos Uhliarik <uhliarik@xxxxxxxxx> > Cc: linux-ext4@xxxxxxxxxxxxxxx, lczerner@xxxxxxxxxx, vojnar@xxxxxxxxxxxx > Subject: Re: [RFC][PATCH 0/1] ext4: Undelete Feature for Ext4 > > On Tue, Mar 18, 2014 at 04:09:30PM +0100, Lubos Uhliarik wrote: > > The main changes in patch are following: > > > > a) commented out zeroing ex->ee_len, ee->start_hi and ee->start_lo, > > because these entries are essential for undelete process > > The reason why we have to zero out ex->ee_len, etc. is because the > truncate operation can sometimes span multiple journal transactions. > So as a result, we need to keep the file system consistent if we are > interrupted (i.e., via a power fail event) while in the middle of a > truncate operation. > > It's a rare case, but it can happen if the journal is almost full at > the time when the truncate eoperation has started, such that there is > no room for to exntend the transaction handle, and so we are forced to > start a new transaction (and possibly wait for a journal checkpoint > operation). > > In theory, it would be possible to figure out in advance whether or > not we could fit the truncate in a single transaction, but it would > require making the truncate operation be a two-pass operation --- once > to determine how many blocks needs to be modified, and once to > actually do the truncate operation. Hi Lubos, that's what we've been discussing including the power failure testing. Have you managed to make a power failure test for this ? I kind of forgot to ask you about that today. Also, if I recall correctly you mentioned that we should be ok with the respect of power failure in the middle of truncate, but I do not recall the details, can you try to look into that again ? Thanks! -Lukas > > > This patch shouldn't break ext4, I tested it with xfs_tests and tests > > were successfull. > > I'm guessing you didn't do power fail testing --- and this is very > important when messing with the design truncate/unlink code path. > > Regards, > > - Ted > -- 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