ccw_device_halt(9)
π ccw_device_halt β a Kernel API Manual moment (section 9, bestie)
Okay so picture this: you're deep in the ./drivers/s390/cio directory of the Kernel API Manual (section 9, yes that section), and you need to halt some I/O request processing. That's the whole vibe. Let me walk you through it π«Ά
β¨ SYNOPSIS β¨
int ccw_device_halt (struct ccw_device *cdev , unsigned long intparm );
That's the whole signature, no cap β two args, one int coming back at you.
π ARGUMENTS π
cdevβ the target ccw device. Like, the device you're doing this to. Main character of the operation πintparmβ the interruption parameter that gets returned whenhschconcludes. So you hand it over now, it comes back to you later. It's giving "hold my jacket, I'll want it back" π
πΈ DESCRIPTION πΈ
So ccw_device_halt literally just calls hsch on cdev's subchannel. That's it. That's the function π
And here's the cute part: the interruption handler will echo back the intparm you specified here β unless another interruption parameter got specified by a subsequent invocation of ccw_device_clear. So keep that in mind if you're calling clear afterwards, because then your little intparm is not the one coming home π
π₯ RETURN π₯
0β success, slay β¨-ENODEVβ device not operational-EINVALβ invalid device state-EBUSYβ device busy or interrupt pending
π CONTEXT π
Interrupts disabled, ccw device lock held. Periodt. Don't come in here without those, fr fr π
π SEE ALSO π
Kernel file ./drivers/s390/cio/device_ops.c β go read it, iykyk π
And the whole friend group, in order:
ccw_device_set_options_mask(9)ccw_device_set_options(9)ccw_device_clear_options(9)ccw_device_is_pathgroup(9)ccw_device_is_multipath(9)ccw_device_clear(9)ccw_device_start_timeout_key(9)ccw_device_start_key(9)ccw_device_start(9)ccw_device_start_timeout(9)ccw_device_resume(9)ccw_device_get_ciw(9)ccw_device_get_path_mask(9)ccw_device_get_chp_desc(9)ccw_device_get_util_str(9)ccw_device_get_id(9)ccw_device_tm_start_timeout_key(9)ccw_device_tm_start_key(9)ccw_device_tm_start(9)ccw_device_tm_start_timeout(9)ccw_device_get_mdc(9)ccw_device_tm_intrg(9)ccw_device_get_schid(9)ccw_device_pnso(9)ccw_device_get_cssid(9)ccw_device_get_iid(9)ccw_device_get_chpid(9)ccw_device_get_chid(9)
Every single one, because we don't skip the boring parts in this house π
Bye bestie!! This page lives in ./drivers/s390/cio, and it's stamped October 2026 β go halt some I/O request processing responsibly, mwah ππ
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms