Skip to content

API-incompatible change in 3.15.0 caused by adding parallel_direct_writes to bit field in fuse_file_info #1029

@mxmlnkn

Description

@mxmlnkn

Hello,

while looking over the fuse_file_info definition in fuse_common.h in order to add FUSE 3 support to fusepy, I saw that libfuse 3.14.0 introduced a new bitfield member parallel_direct_writes in a5eb7f2 in pull request #659. I'm thinking that this is a major bug because it is an incompatible change. Programs built against libfuse 3.14 and using a shared library of libfuse 3.15, or built against 3.15 and getting a shared libfuse < 3.15, will fail in intricate ways because all bit fields after the newly introduced member will be off by one. This affects: flush, nonseekable, flock_release, cache_readdir, noflush.

If this is indeed a bug, I can do a pull request that moves parallel_direct_writes to right before the padding member.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions