Hello all,

I`ve tested this software and see, that I can`t turn off write cache. "Write cache off" can be a great feature for use with DRBD or so on.

Recently I`ve tested AOE with DRBD. Everything was working fine, but when I turn off primary server and then start AOE at secondary while writing data - there was data corruption.

iSCSI target has "write cache off" options and data was written correctly.

But as for me, AOE is faster, simplier and Windows client don`t hang while switching vblade from one server to another.

May be somebody can patch sources or tell me another way to turn off write cache?

Looking at the source of vblade-20, I see that this function perform write:

 

linux.c

....

int
putsec(int fd, uchar *place, vlong lba, int nsec)
{
        return pwrite(fd, place, nsec * 512, lba * 512);
}

....

So need to sync write queue before return?

May be using function

blk_queue_flush(q, REQ_FLUSH | REQ_FUA)

?

If it will be usefull, I can give additional information about versions, testing methods and so on.

 

PV.