Rob Norris
391e85f519
ZIL: add zil_commit_flags() to make honouring failmode= optional
...
The vast majority of calls to zil_commit() follow VFS ops, and should
honour the failmode= setting - either wait for sync, or return error.
Some calls however are part of a larger syncing op, and shouldn't ever
block if something goes wrong.
To allow this, we introduce zil_commit_flags(), with a flag
ZIL_COMMIT_FAILMODE to indicate whether or not the pool failmode should
be honoured. zil_commit() is now a wrapper that always sets this flag,
but any caller wanting a different behaviour can request ZIL_COMMIT_NOW
instead to have the call return failure if the pool suspends, regardless
of the failmode= setting.
Sponsored-by: Klara, Inc.
Sponsored-by: Wasabi Technology, Inc.
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov >
Reviewed-by: Alexander Motin <alexander.motin@TrueNAS.com >
Signed-off-by: Rob Norris <rob.norris@klarasystems.com >
Closes #17398
2025-08-08 16:43:33 -07:00
..
2025-08-07 11:41:25 -07:00
2025-03-13 17:56:27 -07:00
2025-08-07 11:41:42 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-08-07 11:41:42 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-07-30 09:42:47 -07:00
2025-08-07 11:41:42 -07:00
2025-08-08 16:43:26 -07:00
2025-03-13 17:56:27 -07:00
2025-08-07 11:41:42 -07:00
2025-08-07 11:41:42 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-08-07 11:41:42 -07:00
2025-08-06 10:36:07 -07:00
2025-08-07 11:41:42 -07:00
2025-08-07 11:41:42 -07:00
2025-08-07 11:41:37 -07:00
2025-08-07 11:41:42 -07:00
2025-08-07 11:41:42 -07:00
2025-08-07 11:41:42 -07:00
2025-08-06 10:36:07 -07:00
2025-08-07 11:40:59 -07:00
2025-05-13 14:26:55 -07:00
2025-08-07 11:40:59 -07:00
2025-08-07 11:41:42 -07:00
2025-08-07 11:41:42 -07:00
2025-08-07 11:41:42 -07:00
2025-08-07 11:41:42 -07:00
2025-08-07 11:41:37 -07:00
2025-08-07 11:41:37 -07:00
2025-08-07 11:40:59 -07:00
2025-08-07 11:41:42 -07:00
2025-08-07 11:40:59 -07:00
2025-08-07 11:41:37 -07:00
2025-08-07 11:40:59 -07:00
2025-08-07 11:41:42 -07:00
2025-05-28 10:28:59 -07:00
2025-08-07 11:40:59 -07:00
2025-03-13 17:56:27 -07:00
2025-08-07 11:40:59 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:46 -07:00
2025-03-13 17:56:46 -07:00
2025-03-13 17:56:27 -07:00
2025-08-07 11:41:42 -07:00
2025-08-07 11:41:37 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-08-07 11:41:42 -07:00
2025-05-02 15:32:18 -07:00
2025-08-07 11:41:37 -07:00
2025-08-07 11:41:25 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-05-28 16:50:22 -07:00
2025-08-06 10:36:07 -07:00
2025-03-18 16:04:22 -07:00
2025-03-13 17:56:27 -07:00
2025-08-07 11:41:37 -07:00
2025-08-07 11:40:59 -07:00
2025-08-07 11:41:42 -07:00
2025-08-07 11:41:37 -07:00
2025-08-07 11:40:59 -07:00
2018-06-06 09:35:59 -07:00
2018-06-06 09:35:59 -07:00
2025-05-28 10:27:46 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:57:31 -07:00
2025-08-07 11:41:42 -07:00
2025-05-02 15:32:18 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-08-07 11:41:42 -07:00
2025-08-07 11:41:42 -07:00
2025-08-07 11:40:59 -07:00
2025-08-06 10:36:07 -07:00
2025-05-02 15:32:18 -07:00
2025-08-07 11:41:42 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-05-28 16:50:22 -07:00
2025-08-07 11:41:42 -07:00
2025-08-07 11:41:42 -07:00
2025-08-07 11:41:42 -07:00
2025-05-02 15:32:18 -07:00
2025-08-07 11:41:42 -07:00
2025-08-07 11:41:42 -07:00
2025-03-13 17:56:27 -07:00
2025-08-07 11:40:59 -07:00
2025-08-07 11:41:25 -07:00
2025-05-27 20:04:37 -04:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-06-10 14:53:10 -07:00
2025-08-07 11:41:42 -07:00
2025-08-07 11:40:59 -07:00
2025-03-13 17:56:27 -07:00
2025-07-29 17:09:48 -07:00
2025-08-06 10:31:21 -07:00
2025-04-18 09:22:16 -04:00
2025-05-30 10:29:29 -04:00
2025-08-07 11:40:59 -07:00
2025-03-13 17:56:27 -07:00
2025-08-07 11:41:42 -07:00
2025-08-08 16:43:20 -07:00
2025-03-13 17:56:27 -07:00
2025-08-07 11:40:59 -07:00
2025-03-13 17:56:27 -07:00
2025-03-18 16:04:22 -07:00
2025-08-07 11:41:25 -07:00
2025-08-08 16:43:09 -07:00
2025-08-08 16:43:09 -07:00
2025-04-03 10:35:22 -07:00
2025-08-08 16:43:33 -07:00
2025-08-07 11:40:59 -07:00
2025-08-06 17:10:03 -07:00
2025-08-07 11:41:42 -07:00
2025-08-07 11:41:42 -07:00
2025-03-13 17:56:27 -07:00
2025-08-07 11:41:42 -07:00
2025-08-07 11:41:42 -07:00
2025-08-08 16:43:20 -07:00