mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-05-29 18:24:11 +03:00
Remove Solaris VFS Hooks
The ZFS code is being restructured to act as a library and a stand alone module. This allows us to leverage most of the existing code with minimal modification. It also means we need to drop the Solaris vfs/vnode functions they will be replaced by Linux equivilants and updated to be Linux friendly.
This commit is contained in:
@@ -67,7 +67,6 @@
|
||||
|
||||
#ifdef HAVE_ZPL
|
||||
int zfsfstype;
|
||||
vfsops_t *zfs_vfsops = NULL;
|
||||
static major_t zfs_major;
|
||||
static minor_t zfs_minor;
|
||||
static kmutex_t zfs_dev_mtx;
|
||||
@@ -78,23 +77,6 @@ static int zfs_mount(vfs_t *vfsp, vnode_t *mvp, struct mounta *uap, cred_t *cr);
|
||||
static int zfs_mountroot(vfs_t *vfsp, enum whymountroot);
|
||||
static void zfs_freevfs(vfs_t *vfsp);
|
||||
|
||||
static const fs_operation_def_t zfs_vfsops_template[] = {
|
||||
VFSNAME_MOUNT, { .vfs_mount = zfs_mount },
|
||||
VFSNAME_MOUNTROOT, { .vfs_mountroot = zfs_mountroot },
|
||||
VFSNAME_UNMOUNT, { .vfs_unmount = zfs_umount },
|
||||
VFSNAME_ROOT, { .vfs_root = zfs_root },
|
||||
VFSNAME_STATVFS, { .vfs_statvfs = zfs_statvfs },
|
||||
VFSNAME_SYNC, { .vfs_sync = zfs_sync },
|
||||
VFSNAME_VGET, { .vfs_vget = zfs_vget },
|
||||
VFSNAME_FREEVFS, { .vfs_freevfs = zfs_freevfs },
|
||||
NULL, NULL
|
||||
};
|
||||
|
||||
static const fs_operation_def_t zfs_vfsops_eio_template[] = {
|
||||
VFSNAME_FREEVFS, { .vfs_freevfs = zfs_freevfs },
|
||||
NULL, NULL
|
||||
};
|
||||
|
||||
/*
|
||||
* We need to keep a count of active fs's.
|
||||
* This is necessary to prevent our module
|
||||
@@ -2065,23 +2047,6 @@ zfs_vfsinit(int fstype, char *name)
|
||||
int error;
|
||||
|
||||
zfsfstype = fstype;
|
||||
|
||||
/*
|
||||
* Setup vfsops and vnodeops tables.
|
||||
*/
|
||||
error = vfs_setfsops(fstype, zfs_vfsops_template, &zfs_vfsops);
|
||||
if (error != 0) {
|
||||
cmn_err(CE_WARN, "zfs: bad vfs ops template");
|
||||
}
|
||||
|
||||
error = zfs_create_op_tables();
|
||||
if (error) {
|
||||
zfs_remove_op_tables();
|
||||
cmn_err(CE_WARN, "zfs: bad vnode ops template");
|
||||
(void) vfs_freevfsops_by_type(zfsfstype);
|
||||
return (error);
|
||||
}
|
||||
|
||||
mutex_init(&zfs_dev_mtx, NULL, MUTEX_DEFAULT, NULL);
|
||||
|
||||
/*
|
||||
@@ -2234,18 +2199,3 @@ zfs_get_zplprop(objset_t *os, zfs_prop_t prop, uint64_t *value)
|
||||
}
|
||||
return (error);
|
||||
}
|
||||
|
||||
#ifdef HAVE_ZPL
|
||||
static vfsdef_t vfw = {
|
||||
VFSDEF_VERSION,
|
||||
MNTTYPE_ZFS,
|
||||
zfs_vfsinit,
|
||||
VSW_HASPROTO|VSW_CANRWRO|VSW_CANREMOUNT|VSW_VOLATILEDEV|VSW_STATS|
|
||||
VSW_XID|VSW_ZMOUNT,
|
||||
&zfs_mntopts
|
||||
};
|
||||
|
||||
struct modlfs zfs_modlfs = {
|
||||
&mod_fsops, "ZFS filesystem version " SPA_VERSION_STRING, &vfw
|
||||
};
|
||||
#endif /* HAVE_ZPL */
|
||||
|
||||
Reference in New Issue
Block a user