diff options
author | jamie <jamie@FreeBSD.org> | 2016-03-30 16:57:28 +0000 |
---|---|---|
committer | jamie <jamie@FreeBSD.org> | 2016-03-30 16:57:28 +0000 |
commit | 34616151309c88ab10085007b6383af1e501adbb (patch) | |
tree | 861be6d6da8012c5ef361947157a97f30be471e3 /sys/sys/osd.h | |
parent | 06c88b0e22baa899ca63e6e61eb2157803cb8067 (diff) | |
download | FreeBSD-src-34616151309c88ab10085007b6383af1e501adbb.zip FreeBSD-src-34616151309c88ab10085007b6383af1e501adbb.tar.gz |
Add osd_reserve() and osd_set_reserved(), which allow M_WAITOK allocation
of an OSD array,
Diffstat (limited to 'sys/sys/osd.h')
-rw-r--r-- | sys/sys/osd.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/sys/sys/osd.h b/sys/sys/osd.h index 14316ae..820e0f4 100644 --- a/sys/sys/osd.h +++ b/sys/sys/osd.h @@ -59,6 +59,10 @@ int osd_register(u_int type, osd_destructor_t destructor, void osd_deregister(u_int type, u_int slot); int osd_set(u_int type, struct osd *osd, u_int slot, void *value); +void *osd_reserve(u_int slot); +int osd_set_reserved(u_int type, struct osd *osd, u_int slot, void *rsv, + void *value); +void osd_free_reserved(void *rsv); void *osd_get(u_int type, struct osd *osd, u_int slot); void osd_del(u_int type, struct osd *osd, u_int slot); int osd_call(u_int type, u_int method, void *obj, void *data); @@ -71,6 +75,8 @@ void osd_exit(u_int type, struct osd *osd); osd_deregister(OSD_THREAD, (slot)) #define osd_thread_set(td, slot, value) \ osd_set(OSD_THREAD, &(td)->td_osd, (slot), (value)) +#define osd_thread_set_reserved(td, slot, rsv, value) \ + osd_set_reserved(OSD_THREAD, &(td)->td_osd, (slot), (rsv), (value)) #define osd_thread_get(td, slot) \ osd_get(OSD_THREAD, &(td)->td_osd, (slot)) #define osd_thread_del(td, slot) do { \ @@ -88,6 +94,8 @@ void osd_exit(u_int type, struct osd *osd); osd_deregister(OSD_JAIL, (slot)) #define osd_jail_set(pr, slot, value) \ osd_set(OSD_JAIL, &(pr)->pr_osd, (slot), (value)) +#define osd_jail_set_reserved(pr, slot, rsv, value) \ + osd_set_reserved(OSD_JAIL, &(pr)->pr_osd, (slot), (rsv), (value)) #define osd_jail_get(pr, slot) \ osd_get(OSD_JAIL, &(pr)->pr_osd, (slot)) #define osd_jail_del(pr, slot) \ |