Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Leap:16.0:FactoryCandidates
cachefilesd
cachefilesd-loadmod.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File cachefilesd-loadmod.patch of Package cachefilesd
Index: cachefilesd.c =================================================================== --- cachefilesd.c.orig +++ cachefilesd.c @@ -53,6 +53,7 @@ #include <sys/time.h> #include <sys/vfs.h> #include <sys/stat.h> +#include <libkmod.h> typedef enum objtype { OBJTYPE_INDEX, @@ -292,6 +293,9 @@ int main(int argc, char *argv[]) long page_size; int _cachefd, nullfd, opt, loop, open_max; bool nodaemon = false; + struct kmod_ctx *ctx; + struct kmod_module *mod; + int kmod_status; /* handle help request */ if (argc == 2 && strcmp(argv[1], "--help") == 0) @@ -366,6 +370,29 @@ int main(int argc, char *argv[]) /* just in case... */ sync(); + if (!(ctx = kmod_new(NULL, NULL))) { + oserror("Failed to allocate memory for kmod."); + } + + kmod_load_resources(ctx); + + kmod_status = kmod_module_new_from_name(ctx, "cachefiles", &mod); + + if(kmod_status < 0) oserror("Cannot load cachefiles module"); + + kmod_status = kmod_module_probe_insert_module(mod, KMOD_PROBE_APPLY_BLACKLIST,NULL, NULL, NULL, NULL); + + if (kmod_status == 0) + info("Inserted module '%s'", kmod_module_get_name(mod)); + else if (kmod_status == KMOD_PROBE_APPLY_BLACKLIST) + oserror("Module '%s' is blacklisted", kmod_module_get_name(mod)); + else { + oserror("Failed to insert '%s'", kmod_module_get_name(mod)); + } + + kmod_module_unref(mod); + kmod_unref(ctx); + /* open the devfile or the procfile on fd 3 */ _cachefd = open(devfile, O_RDWR); if (_cachefd < 0) { Index: configure.ac =================================================================== --- configure.ac.orig +++ configure.ac @@ -29,6 +29,8 @@ AC_SUBST([systemdsystemunitdir], [$with_ fi AM_CONDITIONAL(HAVE_SYSTEMD, [test -n "$with_systemdsystemunitdir" -a "x$with_systemdsystemunitdir" != xno ]) +PKG_CHECK_MODULES([KMOD], [libkmod]) + # Checks for typedefs, structures, and compiler characteristics. AC_TYPE_SIZE_T AC_TYPE_SSIZE_T Index: Makefile.am =================================================================== --- Makefile.am.orig +++ Makefile.am @@ -8,7 +8,8 @@ endif sysconf_DATA = cachefilesd.conf -cachefilesd_CFLAGS = -fwhole-program +cachefilesd_CFLAGS = $(KMOD_CFLAGS) -fwhole-program +cachefilesd_LDADD = $(KMOD_LIBS) cachefilesd_SOURCES = cachefilesd.c dist_man8_MANS = cachefilesd.8 -dist_man5_MANS = cachefilesd.conf.5 \ No newline at end of file +dist_man5_MANS = cachefilesd.conf.5
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor