/* -*- mode: c; c-basic-offset: 8; indent-tabs-mode: nil; -*-
* vim:expandtab:shiftwidth=8:tabstop=8:
*
- * Copyright (C) 2004 Cluster File Systems, Inc.
- * Author: Nikita Danilov <nikita@clusterfs.com>
+ * GPL HEADER START
*
- * This file is part of Lustre, http://www.lustre.org.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Lustre is free software; you can redistribute it and/or modify it under the
- * terms of version 2 of the GNU General Public License as published by the
- * Free Software Foundation.
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 only,
+ * as published by the Free Software Foundation.
*
- * Lustre is distributed in the hope that it will be useful, but WITHOUT ANY
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
- * details.
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License version 2 for more details (a copy is included
+ * in the LICENSE file that accompanied this code).
*
- * You should have received a copy of the GNU General Public License along
- * with Lustre; if not, write to the Free Software Foundation, Inc., 675 Mass
- * Ave, Cambridge, MA 02139, USA.
+ * You should have received a copy of the GNU General Public License
+ * version 2 along with this program; If not, see
+ * http://www.sun.com/software/products/lustre/docs/GPLv2.pdf
*
- * Implementation of portable APIs for user-level.
+ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
*
+ * GPL HEADER END
+ */
+/*
+ * Copyright 2008 Sun Microsystems, Inc. All rights reserved
+ * Use is subject to license terms.
+ */
+/*
+ * This file is part of Lustre, http://www.lustre.org/
+ * Lustre is a trademark of Sun Microsystems, Inc.
+ *
+ * lnet/libcfs/user-prim.c
+ *
+ * Implementations of portable APIs for liblustre
+ *
+ * Author: Nikita Danilov <nikita@clusterfs.com>
*/
-/* Implementations of portable APIs for liblustre */
/*
* liblustre is single-threaded, so most "synchronization" APIs are trivial.
#ifndef __KERNEL__
+#include <libcfs/libcfs.h>
+#include <libcfs/kp30.h>
+
#include <sys/mman.h>
#ifndef __CYGWIN__
#include <stdint.h>
#include <signal.h>
#include <errno.h>
#include <sys/stat.h>
+#ifdef HAVE_SYS_VFS_H
#include <sys/vfs.h>
-
-#include <libcfs/libcfs.h>
-#include <libcfs/kp30.h>
+#endif
/*
* Sleep channel. No-op implementation.
(void)waitq;
}
-void cfs_waitq_broadcast(struct cfs_waitq *waitq, int state)
+void cfs_waitq_broadcast(struct cfs_waitq *waitq)
{
LASSERT(waitq != NULL);
(void)waitq;
}
-void cfs_waitq_wait(struct cfs_waitlink *link)
+void cfs_waitq_wait(struct cfs_waitlink *link, int state)
{
LASSERT(link != NULL);
(void)link;
cfs_free(addr);
}
-/*
- * This uses user-visible declarations from <linux/kdev_t.h>
- */
-#ifdef __linux__
-#include <linux/kdev_t.h>
-#endif
-
void cfs_enter_debugger(void)
{
/*
return;
}
+int cfs_daemonize_ctxt(char *str)
+{
+ return 0;
+}
+
cfs_sigset_t cfs_block_allsigs(void)
{
cfs_sigset_t all;
/* __linux__ */
#endif
-void lbug_with_loc(char *file, const char *func, const int line)
+void lbug_with_loc(const char *file, const char *func, const int line)
{
/* No libcfs_catastrophe in userspace! */
libcfs_debug_msg(NULL, 0, D_EMERG, file, func, line, "LBUG\n");
abort();
}
-
/* !__KERNEL__ */
#endif