[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: Dawid Kowalski <dkadds2@xxxxxxxxx>
  • From: Dave Scott <Dave.Scott@xxxxxxxxxx>
  • Date: Tue, 30 Dec 2014 17:40:29 +0000
  • Accept-language: en-GB, en-US
  • Cc: Xen API mailing list <xen-api@xxxxxxxxxxxxx>
  • Delivery-date: Tue, 30 Dec 2014 17:40:43 +0000
  • List-id: User and development list for XCP and XAPI <xen-api.lists.xen.org>
  • Thread-index: AQHQJFPKF/CRWHU6Eki/SIomFmNceZyoUWoAgAAEj4A=
  • Thread-topic: [Xen-API] Storage Repository FileSR on ZFS won't work - Linux

> 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:

http://www.mcgill.org.za/stuff/software/nosync

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)

Cheers,
Dave

> 
> 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.
> 
> Thanks,
> Dawid
> 
> 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.
>> 
>> Regards,
>> Dawid
> 
> 
> _______________________________________________
> Xen-api mailing list
> Xen-api@xxxxxxxxxxxxx
> http://lists.xen.org/cgi-bin/mailman/listinfo/xen-api

_______________________________________________
Xen-api mailing list
Xen-api@xxxxxxxxxxxxx
http://lists.xen.org/cgi-bin/mailman/listinfo/xen-api

 


Rackspace

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