[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-API] Storage Repository FileSR on ZFS won't work - Linux

Just as a form of an update. I'm stuck trying to get NFS working as no other way to use ZFS in background seems to be available for me. iSCSI share option for ZFS is not available on Linux. Should I try to enable it I'd need to add third-party daemon.

I'm looking forward for your help in NFS context.

In regards to nosync - I'm happy to give it a try as it's just a test system now but I'd prefer to find working solution.

I've spent couple of days/evenings already fighting to get Xen working on Ubuntu with ZFS and I'm close to give up and try KVM. It's way to complicated.

I'll still keep trying...


On 30/12/14 18:40, Dave Scott wrote:
On 30 Dec 2014, at 17:24, Dawid Kowalski <dkadds2@xxxxxxxxx> wrote:

I'll answer myself.

Modifying td.c line 258 to skip O_DIRECT and recompiling doesn't help.
For some unexplained reasons, it calls O_DIRECT flag still:
Hm. As an experiment you could try an LD_PRELOAD wrapper like this:


Before using anything like this for data you care about, we need to think it through a 
little to make sure itâs safe. Perhaps Linux zfs support for iSCSI is safer? (Sorry 
to flip-flop on this, Iâm not very familiar with ZFS)


strace ./td-util create vhd 2048 /path/to/file
open("/path/to/file", O_WRONLY|O_CREAT|O_TRUNC|O_DIRECT, 0644) = -1 EINVAL 
(Invalid argument)
exit_group(22)                          = ?
+++ exited with 22 +++

Checking other files with O_WRONLY flag doesn't bring any ideas as none of them use 

lock.c:        fd = open(buf, O_WRONLY | O_CREAT, 0644);
lock.c:        fd = open(lockfn, O_WRONLY | O_CREAT | O_EXCL, 0644);
lock.c:                fd = open(lockfn_flink, O_WRONLY | O_CREAT, 0644);
tapdisk-vbd.c:    fd = open(fn, O_WRONLY | O_CREAT | O_NONBLOCK, 0666);
td.c:    fd = open(name, O_WRONLY | O_CREAT | O_TRUNC, 0644);

Any ideas how to fix FileSR for ZFS on Linux?

Seems like I'm left with iScsi approach only.


On 30/12/14 18:11, Dawid Kowalski wrote:
Hi Guys,

Just wanted to report that file based Storage Repository won't work on Linux 
systems as td-util is required O_DIRECT when creating image file not supported 
on ZFS (Linux).

When creating vm, i.e. vm-import it calls td-util similar to below:
td-util create vhd 2048 /path/to/file

Strace shows:
open("/path/to/file", O_WRONLY|O_CREAT|O_TRUNC|O_DIRECT, 0644) = -1 EINVAL 
(Invalid argument)

I'll try to patch td.c to skip O_DIRECT flag but this is rather dirty hack than 
proper solution of the problem.


Xen-api mailing list

Xen-api mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.