Re: [PATCH 01/11] drbd_nl: dont allow detating to be inttrupted in waiting D_DETACHING to DISKLESS
Philipp Reisner <[email protected]> Fri, 28 Jun 2024 11:10:52 +0200
| Newsgroups | dev.linux.lists.drbd-dev |
|---|---|
| Message-ID | <CADGDV=Xo6Z_K2R8vB7+7_jf0U_im0Nmy-xQ36AYh59qi45EvAQ@mail.gmail.com> |
Hello Dongsheng, First of all, thanks for contributing patches to us. Please find my reply on the patch below the quote: On Mon, Jun 24, 2024 at 7:52 AM zhengbing.huang <[email protected]> wrote: > > From: Dongsheng Yang <[email protected]> > > In our network failure and drbd down testing, we found warning in dmesg and drbd down process into D state: > > "kernel: drbd /unregistered/ramtest3/0 drbd103: ASSERTION device->disk_state[NOW] == D_FAILED || device->disk_state[NOW] == D_DETACHING FAILED in go_diskless" > > the problem is the wait_event is inttruptable, it could be intrupted by signal and call drbd_cleanup_device before go_diskless() > In this case, I suggest improving the expression in the assertion. Improving an assertion can also mean removing that assertion. The wait_event_interruptible() is there for a reason. Think of a backing disk that behaves like a tar pit—a backing device that no longer finishes IO requests. You want a way to interrupt the drbdsetup waiting in detach. PS: A bit more elaborative commit messages are welcome. best regards, Philipp