mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-05-25 11:47:43 +03:00
Change KM_PUSHPAGE -> KM_SLEEP
By marking DMU transaction processing contexts with PF_FSTRANS we can revert the KM_PUSHPAGE -> KM_SLEEP changes. This brings us back in line with upstream. In some cases this means simply swapping the flags back. For others fnvlist_alloc() was replaced by nvlist_alloc(..., KM_PUSHPAGE) and must be reverted back to fnvlist_alloc() which assumes KM_SLEEP. The one place KM_PUSHPAGE is kept is when allocating ARC buffers which allows us to dip in to reserved memory. This is again the same as upstream. Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
This commit is contained in:
@@ -254,7 +254,7 @@ __dprintf(const char *file, const char *func, int line, const char *fmt, ...)
|
||||
{
|
||||
const char *newfile;
|
||||
size_t size = 4096;
|
||||
char *buf = kmem_alloc(size, KM_PUSHPAGE);
|
||||
char *buf = kmem_alloc(size, KM_SLEEP);
|
||||
char *nl;
|
||||
va_list adx;
|
||||
|
||||
@@ -5827,7 +5827,7 @@ zfsdev_ioctl(struct file *filp, unsigned cmd, unsigned long arg)
|
||||
}
|
||||
}
|
||||
|
||||
VERIFY0(nvlist_alloc(&outnvl, NV_UNIQUE_NAME, KM_PUSHPAGE));
|
||||
outnvl = fnvlist_alloc();
|
||||
error = vec->zvec_func(zc->zc_name, innvl, outnvl);
|
||||
|
||||
if (error == 0 && vec->zvec_allow_log &&
|
||||
|
||||
Reference in New Issue
Block a user