Bug 1115850

Summary: libgfapi-python fails on discard() and fallocate() due to undefined symbol
Product: [Community] GlusterFS Reporter: Humble Chirammal <hchiramm>
Component: libgfapiAssignee: bugs <bugs>
Status: CLOSED WORKSFORME QA Contact: Sudhir D <sdharane>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 3.5.1CC: bugs, gluster-bugs, hchiramm, ndevos
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-12-20 21:55:17 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Humble Chirammal 2014-07-03 09:06:17 UTC
Description of problem:

Libgfapi-python functions discard and fallocate fails with "AttributeError: /lib64/libgfapi.so.0: undefined symbol:
glfs_discard", when defined with ctype function prototypes.
			

glfs_discard = ctypes.CFUNCTYPE(ctypes.c_int, ctypes.c_void_p, ctypes.c_ulong, ctypes.c_size_t)(('
glfs_discard', client))

glfs_fallocate = ctypes.CFUNCTYPE(ctypes.c_int, ctypes.c_void_p, ctypes.c_int, ctypes.c_ulong, ctypes.c_size_t)  (('glfs_fallocate', client)) 

Version-Release number of selected component (if applicable):

http://review.gluster.org/#/c/7805/

How reproducible:

Run functional tests inside "tests" directory in the source after defining the function prototypes.


Actual results:

It fails to pass functional tests.

Expected results:

It should work when function prototypes are defined as shown in http://review.gluster.org/#/c/7805/

Comment 1 Niels de Vos 2014-10-25 17:11:51 UTC
I'm not sure this is still an issue?

$ objdump -T /usr/lib64/libgfapi.so.0 | grep -e discard -e fallocate
0000000000000000      DF *UND*	0000000000000000              syncop_fallocate
0000000000000000      DF *UND*	0000000000000000              syncop_discard
000000000000d710 g    DF .text	00000000000000da  Base        glfs_discard_async
000000000000f440 g    DF .text	00000000000000d5  Base        glfs_fallocate
000000000000f520 g    DF .text	00000000000000bd  Base        glfs_discard
$ rpm -q glusterfs-api
glusterfs-api-3.5.20141021.946eecf-1.fc20.x86_64


http://review.gluster.org/#/c/7805/ is for the external libgfapi-python repository, not for the bundled version that the glusterfs sources include.

Should this bug be assigned to libgfapi-python component? And, should we maybe start a discussion about removing the python bits from the glusterfs repository and use the dedicated libgfapi-python repository?

Comment 2 Niels de Vos 2014-12-20 21:55:17 UTC
If this is still an issue, please re-open this bug report.

Comment 3 Niels de Vos 2015-05-26 12:33:48 UTC
This bug has been CLOSED, and there has not been a response to the requested NEEDINFO in more than 4 weeks. The NEEDINFO flag is now getting cleared so that our Bugzilla household is getting more in order.