Skip to content

Commit ca54b3f

Browse files
committed
blockio: add some callstacks to submitIO
1 parent d5dc1ad commit ca54b3f

File tree

2 files changed

+5
-3
lines changed

2 files changed

+5
-3
lines changed

blockio/src-linux/System/FS/BlockIO/Async.hs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,8 @@ ctxParamsConv API.IOCtxParams{API.ioctxBatchSizeLimit, API.ioctxConcurrencyLimit
5656
}
5757

5858
submitIO ::
59-
HasFS IO HandleIO
59+
HasCallStack
60+
=> HasFS IO HandleIO
6061
-> I.IOCtx
6162
-> V.Vector (IOOp RealWorld HandleIO)
6263
-> IO (VU.Vector IOResult)

blockio/src/System/FS/BlockIO/Serial.hs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import Control.Monad.Primitive (PrimMonad, PrimState, RealWorld)
99
import qualified Data.Vector as V
1010
import qualified Data.Vector.Unboxed as VU
1111
import qualified Data.Vector.Unboxed.Mutable as VUM
12+
import GHC.Stack (HasCallStack)
1213
import System.FS.API
1314
import qualified System.FS.BlockIO.API as API
1415
import System.FS.BlockIO.API (IOOp (..), IOResult (..), LockMode (..))
@@ -55,7 +56,7 @@ serialHasBlockIO hSetNoCache hAdvise hAllocate tryLockFile hSynchronise synchron
5556
data IOCtx m = IOCtx { ctxFS :: SomeHasFS m, openVar :: MVar m Bool }
5657

5758
{-# SPECIALISE guardIsOpen :: IOCtx IO -> IO () #-}
58-
guardIsOpen :: (MonadMVar m, MonadThrow m) => IOCtx m -> m ()
59+
guardIsOpen :: (HasCallStack, MonadMVar m, MonadThrow m) => IOCtx m -> m ()
5960
guardIsOpen ctx = readMVar (openVar ctx) >>= \b ->
6061
unless b $ throwIO (API.mkClosedError (ctxFS ctx) "submitIO")
6162

@@ -72,7 +73,7 @@ close ctx = modifyMVar_ (openVar ctx) $ const (pure False)
7273
-> IOCtx IO -> V.Vector (IOOp RealWorld h)
7374
-> IO (VU.Vector IOResult) #-}
7475
submitIO ::
75-
(MonadMVar m, MonadThrow m, PrimMonad m)
76+
(HasCallStack, MonadMVar m, MonadThrow m, PrimMonad m)
7677
=> HasFS m h
7778
-> IOCtx m
7879
-> V.Vector (IOOp (PrimState m) h)

0 commit comments

Comments
 (0)