fc_queue_devloss_work(9)
π
fc_queue_devloss_work β bestie, it's the FC devloss workqueue scheduler
okay so this is page fc_queue_devloss_work(9) from the Kernel API Manual, and it's genuinely the most straightforward little function β it just puts a piece of work on the fc_host devloss workqueue. no cap, that's the whole vibe. β¨
πΈ NAME πΈ
fc_queue_devloss_work β schedule work for the fc_host devloss workqueue.
like. that's it. that's the job. she queues, she slays, she leaves. π
π¦ SYNOPSIS π¦
int fc_queue_devloss_work (struct Scsi_Host *shost , struct fc_rport
*rport , struct delayed_work *work , unsigned long delay );
note the return type is int, bestie β that matters, because the return value is literally the whole personality of this function (more on that in DESCRIPTION π).
π ARGUMENTS π
shostβ pointer to theScsi_Hostthat's bound to thefc_host. your entry point, your main character. πrportβ therportthat this devloss work is associated with. she's the reason we're all here.workβ the work you want queued for execution. hand her over, she's going on the queue. π«Άdelayβ the jiffies to delay the work queuing by. yes, jiffies. not seconds, not millis β jiffies. iykyk β³
β¨ DESCRIPTION β¨
okay so this is the part where the manpage gets extremely brief and honestly kind of iconic for it. here's the entire description, and i'm quoting the actual facts, not vibing:
Return value: 1 on success / 0 already queued / < 0 for error.
that's the whole thing. no essay, no caveats, just three numbers and a dream. so let's break it down because you deserve the translation:
1β slay, it worked, the work is queued. π0β it was already queued, so nothing new happened. not a fail, just a "been there, done that." π< 0β error. something went wrong. sad girl hours. π
careful with that 0, bestie β it does not mean failure here, it means "already queued." don't go treating a zero like a red flag when it's actually just a "we're so back." π©β‘οΈπ
π₯ SEE ALSO π₯
the manpage says this lives in the kernel file ./drivers/scsi/scsi_transport_fc.c, and then it drops an absolutely enormous friend group. every single one of these is on the list, no skips, no cuts:
fc_get_event_number(9)fc_host_post_fc_event(9)fc_host_post_event(9)fc_host_post_vendor_event(9)fc_find_rport_by_wwpn(9)fc_host_fpin_rcv(9)fc_eh_timed_out(9)fc_queue_work(9)fc_flush_work(9)fc_flush_devloss(9)fc_remove_host(9)fc_starget_delete(9)fc_rport_final_delete(9)fc_remote_port_create(9)fc_remote_port_add(9)fc_remote_port_delete(9)fc_remote_port_rolechg(9)fc_timeout_deleted_rport(9)fc_timeout_fail_rport_io(9)fc_scsi_scan_rport(9)fc_block_rport(9)fc_block_scsi_eh(9)fc_vport_setup(9)fc_vport_create(9)fc_vport_terminate(9)fc_vport_sched_delete(9)fc_bsg_job_timeout(9)fc_bsg_host_dispatch(9)fc_bsg_rport_dispatch(9)fc_bsg_hostadd(9)fc_bsg_rportadd(9)fc_bsg_remove(9)
like, that's a whole group chat. fc_queue_devloss_work is literally in the chat with all thirty-two of them. group project energy but make it kernel. ππ
and that's the page!! π§ββοΈ this little gem lives in ./drivers/scsi, dated October 2026, and it's fc_queue_devloss_work(9) all the way down. mwah π β go queue some work, bestie. πβπ
π¦ 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