*/
/*
* This file is part of Lustre, http://www.lustre.org/
- * Lustre is a trademark of Sun Microsystems, Inc.
*/
#if HAVE_CONFIG_H
#include <dirent.h>
#include <sys/types.h>
#include <sys/xattr.h>
+#include <libmount/libmount.h>
#ifdef HAVE_GSS
+#ifdef HAVE_LIBKEYUTILS
#include <keyutils.h>
+#endif
#include <lustre/utils/gss/sk_utils.h>
#endif
return (s.f_type == PROC_SUPER_MAGIC);
}
-#ifdef HAVE_LIBMOUNT
-
-# include <libmount/libmount.h>
-
/*
* The libmount is part of util-linux since 2.18.
* We use it to update utab to avoid umount would
return rc;
}
-#else
-int update_utab_entry(struct mount_opts *mop)
-{
- return 0;
-}
-#endif /* HAVE_LIBMOUNT */
int update_mtab_entry(char *spec, char *mtpt, char *type, char *opts,
int flags, int freq, int pass)
char cmd[PATH_MAX];
int cmdsz = sizeof(cmd);
-#ifdef HAVE_LOOP_CTL_GET_FREE
ret = open("/dev/loop-control", O_RDWR);
if (ret < 0) {
fprintf(stderr, "%s: can't access loop control\n",
return EACCES;
}
sprintf(l_device, "%s%d", loop_base, i);
-#else
- sprintf(l_device, "%s%d", loop_base, i);
- if (access(l_device, F_OK | R_OK))
- break;
-#endif
+
snprintf(cmd, cmdsz, "losetup %s > /dev/null 2>&1", l_device);
ret = system(cmd);
#ifdef PLUGIN_DIR
#define DLSYM(prefix, sym, func) \
do { \
- char _fname[64]; \
+ char _fname[PATH_MAX]; \
snprintf(_fname, sizeof(_fname), "%s_%s", prefix, #func); \
sym->func = (typeof(sym->func))dlsym(sym->dl_handle, _fname); \
} while (0)