On Tue, Jan 30, 2018 at 08:54:08AM +0200, Nikolay Borisov wrote:
>
>
> On 29.01.2018 23:43, Omar Sandoval wrote:
> > On Mon, Jan 29, 2018 at 12:24:26PM +0200, Nikolay Borisov wrote:
> >> On 26.01.2018 20:40, Omar Sandoval wrote:
> > [snip]
> >>> +/*
> >>> + * This intentionally duplicates btrfs_util_f_is_subvolume() instead of opening
> >>> + * a file descriptor and calling it, because fstat() and fstatfs() don't accept
> >>> + * file descriptors opened with O_PATH on old kernels (before v3.6 and before
> >>> + * v3.12, respectively), but stat() and statfs() can be called on a path that
> >>> + * the user doesn't have read or write permissions to.
> >>> + */
> >>> +__attribute__((visibility("default")))
> >>
> >> Why do we need to explicitly set the attribute visibility to default,
> >> isn't it implicitly default already?
> >
> > Ah, I forgot to add -fvisibility=hidden to the build rule when I ported
> > this to the btrfs-progs Makefile, that's why that's there. I'll add
> > -fvisibility=hidden to the Makefile.
>
> Right, it could be a good idea to hide the visibility attribute behind
> an eloquent macro i.e. (PUBLIC|LIBRARY)_FUNC or some such.
Macro would be better (but is not needed for the initial version).
Alternatively the library .sym file can externally track the exported
symbols and also track versioning.
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html