{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":103643202,"defaultBranch":"drbd-9.1","name":"drbd","ownerLogin":"LINBIT","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2017-09-15T10:04:35.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/6121896?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1717658651.0","currentOid":""},"activityList":{"items":[{"before":"aa7fb523a19c2325387c3db3365e20fb6b5b2204","after":"c52d24bca2b1c659bfba19d19602c7e319c7416d","ref":"refs/heads/master","pushedAt":"2024-08-05T13:21:14.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"LinbitPRBot","name":null,"path":"/LinbitPRBot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/34788315?s=80&v=4"},"commit":{"message":"Prepare drbd-9.2.11-rc.1","shortMessageHtmlLink":"Prepare drbd-9.2.11-rc.1"}},{"before":"f0059ddf810fbdbadb0d4487cb0cde9a69b1b98b","after":"d10418bf63f0b664305d9bd4779cb48965d434f5","ref":"refs/heads/drbd-9.1","pushedAt":"2024-08-05T12:21:37.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"LinbitPRBot","name":null,"path":"/LinbitPRBot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/34788315?s=80&v=4"},"commit":{"message":"Prepare drbd-9.1.22-rc.1","shortMessageHtmlLink":"Prepare drbd-9.1.22-rc.1"}},{"before":"d6c1f3b88a3ac2488ae95434989f0ff84503fe1f","after":"aa7fb523a19c2325387c3db3365e20fb6b5b2204","ref":"refs/heads/master","pushedAt":"2024-08-05T10:20:43.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"LinbitPRBot","name":null,"path":"/LinbitPRBot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/34788315?s=80&v=4"},"commit":{"message":"Merge drbd-9.1/f0059ddf8 'build: add cyclonedx format'","shortMessageHtmlLink":"Merge drbd-9.1/f0059ddf8 'build: add cyclonedx format'"}},{"before":"1353dab539ae2887a438265aa2fb8e50b04637f7","after":"f0059ddf810fbdbadb0d4487cb0cde9a69b1b98b","ref":"refs/heads/drbd-9.1","pushedAt":"2024-08-05T08:59:33.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"LinbitPRBot","name":null,"path":"/LinbitPRBot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/34788315?s=80&v=4"},"commit":{"message":"build: add cyclonedx format\n\nAnother SBOM format some big vendor thinks is ultra important...","shortMessageHtmlLink":"build: add cyclonedx format"}},{"before":"0f78d6d91b4119adfc45ea6ce8e61844dfe75533","after":"d6c1f3b88a3ac2488ae95434989f0ff84503fe1f","ref":"refs/heads/master","pushedAt":"2024-08-02T19:23:51.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"LinbitPRBot","name":null,"path":"/LinbitPRBot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/34788315?s=80&v=4"},"commit":{"message":"Merge drbd-9.1/1353dab53 'drbd: manually resolving split-brain sometimes needs a full sync'","shortMessageHtmlLink":"Merge drbd-9.1/1353dab53 'drbd: manually resolving split-brain someti…"}},{"before":"5c0b7830a6b682bbb47392342586422978246b18","after":"1353dab539ae2887a438265aa2fb8e50b04637f7","ref":"refs/heads/drbd-9.1","pushedAt":"2024-08-02T17:39:09.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"LinbitPRBot","name":null,"path":"/LinbitPRBot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/34788315?s=80&v=4"},"commit":{"message":"drbd: manually resolving split-brain sometimes needs a full sync\n\nIf we notice data divergence (\"split brain\") because we find an identical data\ngeneration \"somewhere in the history uuids\", we do no longer have a suitable\nbitmap to use.\n\nThe \"auto resolve\" path already handles this by forcing a full sync.\n\nThis also force a full sync if it is manually resolved via \"--discard-my-data\".\n\nBefore, in this scenario we would end up with a bitmap based resync,\nbased on a not suitable bitmap. In general that means even if you follow the\ndocumented procedure to resolve this kind of \"split brain\", data would still\nnot be identical on both nodes -- but reported as such.\nThat would be a possible source of data corruption later.\n\nNote: \"Normal\" split brains are not affected (identical bitmap uuids,\nwe can safely use a bitmap based resync).\nBut after complex \"multiple failure scenarios\", this can be relevant.","shortMessageHtmlLink":"drbd: manually resolving split-brain sometimes needs a full sync"}},{"before":"e1b61a98dbc92a9379f08f49da616a634072494e","after":"5c0b7830a6b682bbb47392342586422978246b18","ref":"refs/heads/drbd-9.1","pushedAt":"2024-08-02T14:16:50.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"LinbitPRBot","name":null,"path":"/LinbitPRBot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/34788315?s=80&v=4"},"commit":{"message":"compat: Call recalc_sigpending() in drbd_open() on older kernels\n\nOur tests show that sometimes kernels older than 5.14 fail to clear\nTIF_SIGPENDING when repeating drbd_open() by returning -ERESTARTSYS.","shortMessageHtmlLink":"compat: Call recalc_sigpending() in drbd_open() on older kernels"}},{"before":"df718632f3582905f1dc7e15c1ac2e7e18689262","after":"0f78d6d91b4119adfc45ea6ce8e61844dfe75533","ref":"refs/heads/master","pushedAt":"2024-08-02T05:29:30.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"LinbitPRBot","name":null,"path":"/LinbitPRBot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/34788315?s=80&v=4"},"commit":{"message":"Merge drbd-9.1/e1b61a98d 'drbd: Make drbd_open() a restartable syscall'","shortMessageHtmlLink":"Merge drbd-9.1/e1b61a98d 'drbd: Make drbd_open() a restartable syscall'"}},{"before":"318f0be8d8ba5a04bc4158df189bc670ea32ba69","after":"e1b61a98dbc92a9379f08f49da616a634072494e","ref":"refs/heads/drbd-9.1","pushedAt":"2024-08-01T16:29:45.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"LinbitPRBot","name":null,"path":"/LinbitPRBot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/34788315?s=80&v=4"},"commit":{"message":"drbd: Make drbd_open() a restartable syscall\n\nToday, I learned the difference between returning -EINTR and\n-ERESTARTSYS. The former always bubbles up to user space. With the\nlatter, the kernel will restart the syscall after it runs the process\nsignal handler, when the signal handler is installed with the\nSA_RESTART flag.\n\n-EINTR should only be used if restarting the syscall would be\nwrong. (Think of sleep(5) getting interrupted after 4 seconds. Then\nrestarting it with 5 is wrong).\n\nBy using -ERESTARTSYS the user might experience a multiple of the\nconfigured autopromote-timeout, but that is just a minor annoyance\ncompared to user space programs that lack a retry loop around open\nfailing to open the DRBD device when interrupted by a signal.\n\nWith strace the EINTR behaviour looks like this:\nopenat(AT_FDCWD, \"/dev/drbd1\", O_WRONLY|O_CREAT|O_TRUNC|O_DIRECT, 0666) = -1 EINTR (Interrupted system call)\n--- SIGCONT {si_signo=SIGCONT, si_code=SI_USER, si_pid=5818, si_uid=0} ---\nopenat(AT_FDCWD, \"/dev/drbd1\", O_WRONLY|O_CREAT|O_TRUNC|O_DIRECT, 0666) = 3\n\nThe ERESTARTSYS looks like this:\nopenat(AT_FDCWD, \"/dev/drbd1\", O_WRONLY|O_CREAT|O_TRUNC|O_DIRECT, 0666) = ? ERESTARTSYS (To be restarted if SA_RESTART is set)\n--- SIGCONT {si_signo=SIGCONT, si_code=SI_USER, si_pid=6338, si_uid=0} ---\nopenat(AT_FDCWD, \"/dev/drbd1\", O_WRONLY|O_CREAT|O_TRUNC|O_DIRECT, 0666) = 3","shortMessageHtmlLink":"drbd: Make drbd_open() a restartable syscall"}},{"before":"4af896c02b39a74350f4fb845d33005888c95807","after":"318f0be8d8ba5a04bc4158df189bc670ea32ba69","ref":"refs/heads/drbd-9.1","pushedAt":"2024-08-01T14:27:57.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"LinbitPRBot","name":null,"path":"/LinbitPRBot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/34788315?s=80&v=4"},"commit":{"message":"drbd: improve bulk bitmap IO\n\nRelevant for huge devices and the necessary large bitmaps.\n\nPotentially we could use less bios by adding more than one page per bio.\nNeeds more logic.\n\nFor now, add explicit \"plugging\", to increase merges and reduce IOPS.\nDepending on backend, this could reduce the number of IOPS by a factor of 256.\nIn my testing inside VMs, I only saw merges improve by a single digit factor,\nbut still a factor, not a small percentage.\n\nThis also fixes the \"global bitmap bulk io stats\". Overloading of \"flags\" in\na8ed722f2 (Merge 8.4/46f6a37 'drbd: track details of bitmap IO', 2014-07-22)\naccidentally caused our (flags == 0) condition to suppress stats reporting\nfor \"read\" and \"write all\".","shortMessageHtmlLink":"drbd: improve bulk bitmap IO"}},{"before":"7ea8ba8ffc7ebb2a672376498e09ee9a2b74907c","after":"df718632f3582905f1dc7e15c1ac2e7e18689262","ref":"refs/heads/master","pushedAt":"2024-07-29T13:15:13.000Z","pushType":"push","commitsCount":6,"pusher":{"login":"LinbitPRBot","name":null,"path":"/LinbitPRBot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/34788315?s=80&v=4"},"commit":{"message":"Merge drbd-9.1/4af896c02 'drbd: fix return value of drbd_open() when it gets a signal'","shortMessageHtmlLink":"Merge drbd-9.1/4af896c02 'drbd: fix return value of drbd_open() when …"}},{"before":"b1c9d2d793c9e24ea3673b69ad3957073eb01141","after":"4af896c02b39a74350f4fb845d33005888c95807","ref":"refs/heads/drbd-9.1","pushedAt":"2024-07-29T10:22:31.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"LinbitPRBot","name":null,"path":"/LinbitPRBot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/34788315?s=80&v=4"},"commit":{"message":"drbd: fix return value of drbd_open() when it gets a signal\n\nWhen drbd_open() gets interrupted by a signal, DRBD dutifully aborts\nthe ongoing two-phase commit. It failed to set the return code (errno\nin user space) to EINTR. It returned wrongly EROFS.","shortMessageHtmlLink":"drbd: fix return value of drbd_open() when it gets a signal"}},{"before":"0c61902a169e4cb95b4595af79fde72f0094662c","after":"7ea8ba8ffc7ebb2a672376498e09ee9a2b74907c","ref":"refs/heads/master","pushedAt":"2024-07-29T10:19:47.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"LinbitPRBot","name":null,"path":"/LinbitPRBot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/34788315?s=80&v=4"},"commit":{"message":"compat: check for disabled CONFIG_NET_HANDSHAKE\n\nWe need to apply the compat for the tls_get_record_type function if the\nkernel has the symbol in the headers, but no actual handshake module. This\nhappens on new kernels (>=6.6) where the handshake module is disabled.\n\nIn this case, we do build our own handshake module for compatibility, but\nwe forgot to patch the necessary helper functions that are also part of the\nhandshake module.","shortMessageHtmlLink":"compat: check for disabled CONFIG_NET_HANDSHAKE"}},{"before":"861b5f7b2f1292a027c1273c10d39257e5bfab05","after":"43a79b1316117ee2ac32407c13ea28afa76a49bb","ref":"refs/heads/jt/windrbd-1.1-drbd-9.0","pushedAt":"2024-07-25T11:59:00.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"rck","name":"Roland Kammerer","path":"/rck","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/42089?s=80&v=4"},"commit":{"message":"Call function to set disk timeout in WinDRBD.\n\nCalled whenever a disk is attached or disk options change.","shortMessageHtmlLink":"Call function to set disk timeout in WinDRBD."}},{"before":"56bd3fbdd12214b71f524a54f81d8f84570a2162","after":"b1c9d2d793c9e24ea3673b69ad3957073eb01141","ref":"refs/heads/drbd-9.1","pushedAt":"2024-07-08T14:13:48.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"LinbitPRBot","name":null,"path":"/LinbitPRBot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/34788315?s=80&v=4"},"commit":{"message":"drbd_main: eliminated usused variables in drbd_send_sizes()\n\nThis should silence a warning about variable set but not\nused.\n\nSigned-Off-By: Johannes Khoshnazar-Thoma ","shortMessageHtmlLink":"drbd_main: eliminated usused variables in drbd_send_sizes()"}},{"before":"0a68d5fbf862d6b9ae91e25ed07f3e84880b78ef","after":"56bd3fbdd12214b71f524a54f81d8f84570a2162","ref":"refs/heads/drbd-9.1","pushedAt":"2024-07-05T14:19:12.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"LinbitPRBot","name":null,"path":"/LinbitPRBot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/34788315?s=80&v=4"},"commit":{"message":"drbd_receiver: eliminated unused device variable in 3 got_XXX functions.\n\nThis silenced a warning in my gcc build (variable 'device' set but not used)\n\nSigned-Off-By: Johannes Khoshnazar-Thoma ","shortMessageHtmlLink":"drbd_receiver: eliminated unused device variable in 3 got_XXX functions."}},{"before":"682f76959038bd80542968ba35a496145da61ab3","after":"0c61902a169e4cb95b4595af79fde72f0094662c","ref":"refs/heads/master","pushedAt":"2024-07-05T09:41:01.000Z","pushType":"push","commitsCount":8,"pusher":{"login":"LinbitPRBot","name":null,"path":"/LinbitPRBot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/34788315?s=80&v=4"},"commit":{"message":"Merge drbd-9.1/0a68d5fbf 'drbd: make drbd_adm_detach() interruptible'","shortMessageHtmlLink":"Merge drbd-9.1/0a68d5fbf 'drbd: make drbd_adm_detach() interruptible'"}},{"before":"baa0a6afded8c09175411b5aa8aca8b1a670d25e","after":"0a68d5fbf862d6b9ae91e25ed07f3e84880b78ef","ref":"refs/heads/drbd-9.1","pushedAt":"2024-07-05T08:55:07.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"LinbitPRBot","name":null,"path":"/LinbitPRBot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/34788315?s=80&v=4"},"commit":{"message":"drbd: make drbd_adm_detach() interruptible\n\nIf a backing device suddenly ceases delivering I/O completions, and in\nreaction, the user issues a `drbdsetup detach`, the operation will\nhang when it tries to write internal meta-data.\n\nThe user should have used `drbdsetup --force detach`, but it is too\nlate. There was no way to interrupt the hanging drbdsetup detach.\n\nImprove the situation by making detach operations interruptible.","shortMessageHtmlLink":"drbd: make drbd_adm_detach() interruptible"}},{"before":"d2070552e5cc02448b405bd5582ece1664721178","after":"baa0a6afded8c09175411b5aa8aca8b1a670d25e","ref":"refs/heads/drbd-9.1","pushedAt":"2024-07-04T08:49:30.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"LinbitPRBot","name":null,"path":"/LinbitPRBot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/34788315?s=80&v=4"},"commit":{"message":"build: spatch result depends on gen_patch_names.c\n\nThe result of spatch, our \"compat.patch\", obviously depends on the\nselection of (cocci) patches to apply, which not only depends on the\ntest results, but also on the tool we use to make the choices.\n\nAdd gen_patch_names.c to the dependencies, so both regular \"make\" as\nwell as \"make spatch\" (explicitly ask for a rebuild of the currently\nrelevant compat.patch) will pick up on changes in the tool and re-run spatch.","shortMessageHtmlLink":"build: spatch result depends on gen_patch_names.c"}},{"before":"ae54cae4a5e9d753884fe74f01c32e14dc97b7e7","after":"d2070552e5cc02448b405bd5582ece1664721178","ref":"refs/heads/drbd-9.1","pushedAt":"2024-07-03T15:44:56.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"LinbitPRBot","name":null,"path":"/LinbitPRBot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/34788315?s=80&v=4"},"commit":{"message":"compat: gate bdev_open_by_path behind bdev_file_open_by_path\n\nIf we have bdev_file_open_by_path, we will not have bdev_open_by_path,\nand that is expected. So only include the compat test if we don't have\nbdev_file_open_by_path.\n\nAlso fix a typo in the compat test that caused it to always fail.","shortMessageHtmlLink":"compat: gate bdev_open_by_path behind bdev_file_open_by_path"}},{"before":"224a74cffb2f221505dff2280ba3cfe6c7021eb8","after":"ae54cae4a5e9d753884fe74f01c32e14dc97b7e7","ref":"refs/heads/drbd-9.1","pushedAt":"2024-07-03T14:06:44.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"LinbitPRBot","name":null,"path":"/LinbitPRBot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/34788315?s=80&v=4"},"commit":{"message":"drbd: clear_peer_slot: give up if drbd_md_get_buffer returns NULL\n\nFixes a NULL deref if it so happens that the disk fails\n_just_ when we try to clear a bitmap slot.","shortMessageHtmlLink":"drbd: clear_peer_slot: give up if drbd_md_get_buffer returns NULL"}},{"before":"d37efcdbae279f124aa2271bbd8927058a6fb038","after":"682f76959038bd80542968ba35a496145da61ab3","ref":"refs/heads/master","pushedAt":"2024-07-03T06:49:12.000Z","pushType":"push","commitsCount":25,"pusher":{"login":"LinbitPRBot","name":null,"path":"/LinbitPRBot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/34788315?s=80&v=4"},"commit":{"message":"Merge drbd-9.1/224a74cff 'drbd: hold a reference on ldev for calling drbd_reconsider_queue_parameters()'","shortMessageHtmlLink":"Merge drbd-9.1/224a74cff 'drbd: hold a reference on ldev for calling …"}},{"before":"8df3bc1f849f803b6dd3c2486543fad7457bd574","after":"224a74cffb2f221505dff2280ba3cfe6c7021eb8","ref":"refs/heads/drbd-9.1","pushedAt":"2024-07-02T08:06:56.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"LinbitPRBot","name":null,"path":"/LinbitPRBot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/34788315?s=80&v=4"},"commit":{"message":"drbd: hold a reference on ldev for calling drbd_reconsider_queue_parameters()\n\nHold a reference on ldev for calling drbd_reconsider_queue_parameters()\n\nSigned-off-by: Dongsheng Yang \nSigned-off-by: Philipp Reisner ","shortMessageHtmlLink":"drbd: hold a reference on ldev for calling drbd_reconsider_queue_para…"}},{"before":"13466f5677775db611c0196a713bfa68b677af59","after":"8df3bc1f849f803b6dd3c2486543fad7457bd574","ref":"refs/heads/drbd-9.1","pushedAt":"2024-07-01T08:59:02.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"LinbitPRBot","name":null,"path":"/LinbitPRBot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/34788315?s=80&v=4"},"commit":{"message":"compat: test and patch for bdev_file_open_by_path","shortMessageHtmlLink":"compat: test and patch for bdev_file_open_by_path"}},{"before":"03dee4578e84edeba0eca1f9baad07796f368c7e","after":"13466f5677775db611c0196a713bfa68b677af59","ref":"refs/heads/drbd-9.1","pushedAt":"2024-06-26T07:18:14.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"LinbitPRBot","name":null,"path":"/LinbitPRBot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/34788315?s=80&v=4"},"commit":{"message":"drbd: hold RCU lock while dereferencing in calc_data_accessible()\n\nThe lockdep warning looked like this:\n\nWARNING: suspicious RCU usage\n5.8.17-jcolledge #28 Tainted: G O\n-----------------------------\n/drbd/drbd/drbd_state.c:6055 suspicious rcu_dereference_check() usage!\nother info that might help us debug this:\nrcu_scheduler_active = 2, debug_locks = 1\nno locks held by drbd_w_res/1519.\nstack backtrace:\nCPU: 0 PID: 1519 Comm: drbd_w_res Tainted: G O 5.8.17-jcolledge #28\ndrbd res/0 drbd1: 1915: p_size: 0\nHardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.15.0-1 04/01/2014\nCall Trace:\n dump_stack+0x9f/0xe5\n lockdep_rcu_suspicious+0xc5/0x100\n w_after_state_change+0x3c6/0x2c80 [drbd]","shortMessageHtmlLink":"drbd: hold RCU lock while dereferencing in calc_data_accessible()"}},{"before":"a63a9c8b0806af40b6cd108e35c6406c7891b593","after":"03dee4578e84edeba0eca1f9baad07796f368c7e","ref":"refs/heads/drbd-9.1","pushedAt":"2024-06-25T10:02:15.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"LinbitPRBot","name":null,"path":"/LinbitPRBot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/34788315?s=80&v=4"},"commit":{"message":"drbd: send nested twopc reply from system work queue\n\nWhile a connection is being established, uuid_sem is held. The\nconnection sequence involves a twopc and uuid_sem is only released once\nthis is done. The DRBD worker thread may try to take uuid_sem for\nvarious reasons. Hence it must be possible for the connection sequence\nand corresponding twopc to complete without any dependence on the\nworker. Thus we need to stop using the worker for sending twopc replies.\nUse a system workqueue instead.\n\nTo give a more precise example, the deadlock could occur in a 3 node\ncluster with nodes A, B, C.\n* A-B connected\n* A-C just connected, w_after_state_change not yet finished\n* B-C connecting\n\nThen the deadlock occurs as follows:\nC: uuid_sem for connection held, release waiting for twopc commit from node B\nB: Twopc commit waiting for \"yes\" from node C\nC: \"yes\" waiting for nested_twopc_work to run on worker\nC: worker in w_after_state_change (after connection A-C) waiting for uuid_sem\n\nPrior to this change, the connection sequence could encounter this\ndeadlock, which was only broken once the twopc was aborted. This change\nmakes DRBD connect quickly more reliably.","shortMessageHtmlLink":"drbd: send nested twopc reply from system work queue"}},{"before":"f23a28e10907e59d2f73fa746a32074408142fab","after":"a63a9c8b0806af40b6cd108e35c6406c7891b593","ref":"refs/heads/drbd-9.1","pushedAt":"2024-06-19T09:06:29.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"LinbitPRBot","name":null,"path":"/LinbitPRBot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/34788315?s=80&v=4"},"commit":{"message":"compat: test and patch for blk_alloc_disk with queue_limits\n\nUpstream Linux kernel commit 74fa8f9c553f (\"block: pass a queue_limits\nargument to blk_alloc_disk\") changed the signature of blk_alloc_disk to\naccept a queue_limits argument.\n\nAdopt this change and create a new compat test and patch to revert it\nback for older kernels.","shortMessageHtmlLink":"compat: test and patch for blk_alloc_disk with queue_limits"}},{"before":"121167a75456ea9db46898cd30832573826d57b3","after":"f23a28e10907e59d2f73fa746a32074408142fab","ref":"refs/heads/drbd-9.1","pushedAt":"2024-06-19T08:50:24.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"LinbitPRBot","name":null,"path":"/LinbitPRBot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/34788315?s=80&v=4"},"commit":{"message":"drbd: actlog: fix kernel-doc warnings and spelling\n\nFix all kernel-doc warnings in drbd_actlog.c:\n\ndrbd_actlog.c:1353: warning: Function parameter or struct member 'peer_device' not described in 'drbd_rs_begin_io'\ndrbd_actlog.c:1353: warning: Function parameter or struct member 'sector' not described in 'drbd_rs_begin_io'\ndrbd_actlog.c:1404: warning: Function parameter or struct member 'peer_device' not described in 'drbd_try_rs_begin_io'\ndrbd_actlog.c:1404: warning: Function parameter or struct member 'sector' not described in 'drbd_try_rs_begin_io'\ndrbd_actlog.c:1404: warning: Function parameter or struct member 'throttle' not described in 'drbd_try_rs_begin_io'\ndrbd_actlog.c:1570: warning: Function parameter or struct member 'peer_device' not described in 'drbd_rs_cancel_all'\ndrbd_actlog.c:1591: warning: Function parameter or struct member 'peer_device' not described in 'drbd_rs_del_all'\n\nFix one spelling error (s/ore/or/).\n\nEssentially equivalent to upstream kernel commit 8aabc11c8f4e\n(\"drbd: actlog: fix kernel-doc warnings and spelling\").","shortMessageHtmlLink":"drbd: actlog: fix kernel-doc warnings and spelling"}},{"before":"2bd2a8fa857672a3f20289a8c8418ed4ed5d48d9","after":"121167a75456ea9db46898cd30832573826d57b3","ref":"refs/heads/drbd-9.1","pushedAt":"2024-06-14T06:38:09.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"LinbitPRBot","name":null,"path":"/LinbitPRBot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/34788315?s=80&v=4"},"commit":{"message":"drbd: add \"dev_is_open\" to device_info, and broadcast on change\n\nWe cannot \"down\" a resource (delete a volume) that is open.\nIt may be read-only opened in Secondary role, which is currently not\nrecognizable from status or events2 output.\n\nExpose (device->open_cnt != 0) via device_info,\nand broadcast via events2 when that changes.","shortMessageHtmlLink":"drbd: add \"dev_is_open\" to device_info, and broadcast on change"}},{"before":"b92a320cb72a0b85144e742da5930f2d3b6ce30c","after":"d37efcdbae279f124aa2271bbd8927058a6fb038","ref":"refs/heads/master","pushedAt":"2024-06-13T15:25:53.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"LinbitPRBot","name":null,"path":"/LinbitPRBot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/34788315?s=80&v=4"},"commit":{"message":"rdma: Fix dtr_path use-after-free\n\nCommit 60a63d648863 removed for_each_path_ref() in rdma. Since\nfor_each_path_ref() called kref_get() for the path, it was necessary to\ncall kref_put() after dtr_activate_path() returned an error. But now if\ndtr_activate_path() returns an error, we must not call kref_put() to\nfree the drbd_path directly.\n\nSigned-off-by: Chen Fan \nSigned-off-by: Joel Colledge ","shortMessageHtmlLink":"rdma: Fix dtr_path use-after-free"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEkhB9_AA","startCursor":null,"endCursor":null}},"title":"Activity · LINBIT/drbd"}