[sheepdog] [PATCH v3 3/3] journal: new journal flag JF_DELETE_OBJ for deleting object

Liu Yuan namei.unix at gmail.com
Mon Apr 15 09:31:01 CEST 2013


On 04/14/2013 11:54 PM, Hitoshi Mitake wrote:
> Current journal implementation doesn't consider such a case:
> 
> 1. make new journal for new object creation
> 2. actual creation of the object
> 3. delete object
> 4. crash
> 
> After such a sequence, the journaling mechanism recovers the deleted
> object. This behavior isn't valid. This patch implements the new
> journal flag: JF_DELETE_OBJ. If the journaling mechanism finds an
> entry with this flag during recovery process, it deletes an
> corresponding object.

IIUC, SD won't allow remove VDI while VDI is used by VM. So we don't
need code to handle situation.

But after discard operation is supported, this situation might happen. I
am highly unsure of it because this means following operations series in VM:

 1. write some file with O_SYNC that causes the creation of new object
 2. just after the write, then remove this file.
 3. FS issue a discard command to release this newly created object
 4. sheep crashes with journal entry logs the 'create' operation only

What do you you think? Is this practical (happens for real)?

Thanks,
Yuan



More information about the sheepdog mailing list