52 static zone_key_t sockfs_zone_key;
53
54 static vfsdef_t vfw = {
55 VFSDEF_VERSION,
56 "sockfs",
57 sockinit,
58 VSW_ZMOUNT,
59 NULL
60 };
61
62 extern struct mod_ops mod_fsops;
63
64 /*
65 * Module linkage information for the kernel.
66 */
67 static struct modlfs modlfs = {
68 &mod_fsops, "filesystem for sockfs", &vfw
69 };
70
71 static struct modlinkage modlinkage = {
72 MODREV_1, (void *)&modlfs, NULL
73 };
74
75 int
76 _init(void)
77 {
78 int ret;
79
80 /*
81 * We want to be informed each time a zone is created or
82 * destroyed in the kernel, so we can maintain per-zone
83 * kstat. sock_kstat_init() will also be called for the
84 * global zone, without us having to special case it here.
85 */
86 zone_key_create(&sockfs_zone_key,
87 sock_kstat_init, NULL, sock_kstat_fini);
88
89 if ((ret = mod_install(&modlinkage)) != 0) {
90 (void) zone_key_delete(sockfs_zone_key);
91 }
92
|
52 static zone_key_t sockfs_zone_key;
53
54 static vfsdef_t vfw = {
55 VFSDEF_VERSION,
56 "sockfs",
57 sockinit,
58 VSW_ZMOUNT,
59 NULL
60 };
61
62 extern struct mod_ops mod_fsops;
63
64 /*
65 * Module linkage information for the kernel.
66 */
67 static struct modlfs modlfs = {
68 &mod_fsops, "filesystem for sockfs", &vfw
69 };
70
71 static struct modlinkage modlinkage = {
72 MODREV_1, { (void *)&modlfs, NULL }
73 };
74
75 int
76 _init(void)
77 {
78 int ret;
79
80 /*
81 * We want to be informed each time a zone is created or
82 * destroyed in the kernel, so we can maintain per-zone
83 * kstat. sock_kstat_init() will also be called for the
84 * global zone, without us having to special case it here.
85 */
86 zone_key_create(&sockfs_zone_key,
87 sock_kstat_init, NULL, sock_kstat_fini);
88
89 if ((ret = mod_install(&modlinkage)) != 0) {
90 (void) zone_key_delete(sockfs_zone_key);
91 }
92
|