Only drop Giant around the drivers ->d_strategy() if the buffer is not
marked to prevent this.
This commit is contained in:
parent
8f25d34f31
commit
f4a3d9da6e
@ -504,7 +504,7 @@ spec_xstrategy(struct vnode *vp, struct buf *bp)
|
||||
("No strategy on dev %s responsible for buffer %p\n",
|
||||
devtoname(bp->b_dev), bp));
|
||||
|
||||
if (dsw->d_flags & D_NOGIANT) {
|
||||
if ((dsw->d_flags & D_NOGIANT) && !(bp->b_flags & B_KEEPGIANT)) {
|
||||
DROP_GIANT();
|
||||
DEV_STRATEGY(bp);
|
||||
PICKUP_GIANT();
|
||||
|
Loading…
Reference in New Issue
Block a user