Re: Incompatible fuse ops ioctl signature with git cloned fuse installation

Pittman, Ashley M


Yes, I’d spotted this might be a problem recently when looking at fuse commit history.  Fuse started off with one prototype, then updated and we updated daos to match, then they more recently added version checking to support both interfaces simultaneously which has caused the error you’re seeing.


I think the best approach would be for us to change the FUSE_USE_VERSION we define, but to do that we need to check what’s changed in the intervening versions.




From: <> on behalf of "xuning97@..." <xuning97@...>
Reply to: "" <>
Date: Friday, 5 June 2020 at 07:04
To: "" <>
Subject: [daos] Incompatible fuse ops ioctl signature with git cloned fuse installation


from the config, FUSE_USE_VERSION is defined to 32

        reqs.define('fuse', libs=['fuse3'], defines=["FUSE_USE_VERSION=32"],
        headers=['fuse3/fuse.h'], package='fuse3-devel') 
from git fuse src, when this version is defined under 35, the first ioctl signature will be used, here the cmd type is int

from daos srce code, "unsigned int cmd" is used, which is not compatible with the first definition, so the compilation will fail. After comment out "unsigned", everything is compiled successfully.

Intel Corporation (UK) Limited
Registered No. 1134945 (England)
Registered Office: Pipers Way, Swindon SN3 1RJ
VAT No: 860 2173 47

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.

Join to automatically receive all group messages.