[Bugs] [Bug 1195053] glusterd 3.6.2 failing on FreeBSD; ImportError: cannot import name ENODATA

bugzilla at redhat.com bugzilla at redhat.com
Mon Feb 23 00:04:36 UTC 2015


https://bugzilla.redhat.com/show_bug.cgi?id=1195053

Harshavardhana <fharshav at redhat.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |fharshav at redhat.com



--- Comment #2 from Harshavardhana <fharshav at redhat.com> ---
The larger issue is not just errno compatibility, what i saw was that it is
rather hard to support FreeBSD for geo-replication. 

Due to some hard met dependencies - geo-replication oddly uses libcxattr.py its
own Xattr wrapper implementation around libc {getxattr,setxattr,listxattr}
calls

All geo-replication is highly dependent on that so for a cross platform based
support we need to fix this libcxattr.py

For example 

~~~
>>> import sys
>>> sys.platform
'freebsd10'
>>> from ctypes import CDLL
>>> from ctypes.util import find_library 
>>> libc = CDLL(find_library("libc"))
>>> getattr(libc, "lgetxattr")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.7/ctypes/__init__.py", line 378, in __getattr__
    func = self.__getitem__(name)
  File "/usr/local/lib/python2.7/ctypes/__init__.py", line 383, in __getitem__
    func = self._FuncPtr((name_or_ordinal, self))
AttributeError: Undefined symbol "lgetxattr"
>>>
>>> getattr(libc, "extattr_get_file")
<_FuncPtr object at 0x801f41390>
>>>
~~~ 

So in general geo-replication is not going to work on FreeBSD for the time
being with some good changes to make it more portable. 

Using our libcxattr.py would have had some clear advantages than using more
portable python's own 'xattr' implementation.  But it isn't too late to ponder
upon what it takes to use just the standard 'xattr' implementation. 

NOTE: OSX implements similar semantics as GNU platforms so geo-replication
might just work without any further compatibility issues.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
You are the assignee for the bug.


More information about the Bugs mailing list