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

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

  • To: Xen API mailing list <xen-api@xxxxxxxxxxxxx>
  • From: Dawid Kowalski <dkadds2@xxxxxxxxx>
  • Date: Tue, 30 Dec 2014 18:24:08 +0100
  • Delivery-date: Tue, 30 Dec 2014 17:24:19 +0000
  • List-id: User and development list for XCP and XAPI <xen-api.lists.xen.org>

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:

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 "O_DIRECT".

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



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