git://git.camperquake.de
/
zfs.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Use GFP_NOIO in vdev_disk_io_flush()
[zfs.git]
/
module
/
zfs
/
arc.c
diff --git
a/module/zfs/arc.c
b/module/zfs/arc.c
index
de86966
..
df3aeb7
100644
(file)
--- a/
module/zfs/arc.c
+++ b/
module/zfs/arc.c
@@
-1642,7
+1642,7
@@
int
arc_buf_remove_ref(arc_buf_t *buf, void* tag)
{
arc_buf_hdr_t *hdr = buf->b_hdr;
arc_buf_remove_ref(arc_buf_t *buf, void* tag)
{
arc_buf_hdr_t *hdr = buf->b_hdr;
- kmutex_t *hash_lock =
HDR_LOCK(hdr)
;
+ kmutex_t *hash_lock =
NULL
;
int no_callback = (buf->b_efunc == NULL);
if (hdr->b_state == arc_anon) {
int no_callback = (buf->b_efunc == NULL);
if (hdr->b_state == arc_anon) {
@@
-1651,6
+1651,7
@@
arc_buf_remove_ref(arc_buf_t *buf, void* tag)
return (no_callback);
}
return (no_callback);
}
+ hash_lock = HDR_LOCK(hdr);
mutex_enter(hash_lock);
hdr = buf->b_hdr;
ASSERT3P(hash_lock, ==, HDR_LOCK(hdr));
mutex_enter(hash_lock);
hdr = buf->b_hdr;
ASSERT3P(hash_lock, ==, HDR_LOCK(hdr));