Skip to content
Permalink
Browse files

Expose dmu_buf_hold_array_by_dnode to platform code

FreeBSD uses this in its pager ops routines

Signed-off-by: Matt Macy <mmacy@FreeBSD.org>
  • Loading branch information...
mattmacy committed Oct 9, 2019
1 parent d0a84ba commit a85034c0aa1d37e63e91f1ba705acc22de95ca1c
Showing with 3 additions and 1 deletion.
  1. +2 −0 include/sys/dmu.h
  2. +1 −1 module/zfs/dmu.c
@@ -564,6 +564,8 @@ int dmu_buf_hold(objset_t *os, uint64_t object, uint64_t offset,
void *tag, dmu_buf_t **, int flags);
int dmu_buf_hold_by_dnode(dnode_t *dn, uint64_t offset,
void *tag, dmu_buf_t **dbp, int flags);
int dmu_buf_hold_array_by_dnode(dnode_t *dn, uint64_t offset, uint64_t length,
boolean_t read, void *tag, int *numbufsp, dmu_buf_t ***dbpp, uint32_t flags)

/*
* Add a reference to a dmu buffer that has already been held via
@@ -489,7 +489,7 @@ dmu_spill_hold_by_bonus(dmu_buf_t *bonus, uint32_t flags, void *tag,
* and can induce severe lock contention when writing to several files
* whose dnodes are in the same block.
*/
static int
int
dmu_buf_hold_array_by_dnode(dnode_t *dn, uint64_t offset, uint64_t length,
boolean_t read, void *tag, int *numbufsp, dmu_buf_t ***dbpp, uint32_t flags)
{

0 comments on commit a85034c

Please sign in to comment.
You can’t perform that action at this time.