mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-05-22 02:27:36 +03:00
Update utsname support
Modify the code to use the utsname() kernel function rather than a global variable. This results is cleaner more portable code because utsname() is already provided by the kernel and can be easily emulated in user space via uname(2). This means that it will behave consistently in both contexts. This is also has the benefit that it allows the removal of a few _KERNEL pre-processor conditions. And it also is a pre-requisite for a proper FUSE port because we need to provide a valid utsname. Finally, it allows us to remove this functionality from the SPL and all the related compatibility code. Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Issue #2757
This commit is contained in:
@@ -67,6 +67,7 @@
|
||||
#include <sys/ctype.h>
|
||||
#include <sys/disp.h>
|
||||
#include <linux/dcache_compat.h>
|
||||
#include <linux/utsname_compat.h>
|
||||
|
||||
#else /* _KERNEL */
|
||||
|
||||
@@ -117,6 +118,7 @@
|
||||
#include <sys/fm/fs/zfs.h>
|
||||
#include <sys/sunddi.h>
|
||||
#include <sys/debug.h>
|
||||
#include <sys/utsname.h>
|
||||
|
||||
/*
|
||||
* Stack
|
||||
@@ -673,6 +675,9 @@ extern int ddi_strtoul(const char *str, char **nptr, int base,
|
||||
extern int ddi_strtoull(const char *str, char **nptr, int base,
|
||||
u_longlong_t *result);
|
||||
|
||||
typedef struct utsname utsname_t;
|
||||
extern utsname_t *utsname(void);
|
||||
|
||||
/* ZFS Boot Related stuff. */
|
||||
|
||||
struct _buf {
|
||||
|
||||
Reference in New Issue
Block a user