diff --git a/boo1235399-fix_the_warning_of_blk_validate_limits.patch b/boo1235399-fix_the_warning_of_blk_validate_limits.patch
new file mode 100644
index 0000000..e972e2c
--- /dev/null
+++ b/boo1235399-fix_the_warning_of_blk_validate_limits.patch
@@ -0,0 +1,73 @@
+Subject: [PATCH] drbd: Fix block layer warning
+
+drbdadm down r0 trigger kernel warning
+
+drbd_reconsider_queue_parameters
+ + get_common_queue_limits
+ | blk_set_stacking_limits
+ | lim->max_zone_append_sectors = UINT_MAX; <=== set
+ |
+ + ... ...
+ |
+ + queue_limits_commit_update
+ blk_validate_limits
+ WARN_ON_ONCE(lim->max_zone_append_sectors) <== trigger
+
+log:
+
+```
+Jan 08 14:43:37 tw-2 kernel: drbd r0/0 drbd0: disk( UpToDate -> Detaching ) [down]
+Jan 08 14:43:37 tw-2 kernel: drbd r0/0 drbd0: disk( Detaching -> Diskless ) [go-diskless]
+------------[ cut here ]------------
+WARNING: CPU: 0 PID: 1773 at block/blk-settings.c:75 blk_validate_limits+0x41d/0x440
+... ...
+Call Trace:
+
+ ? blk_validate_limits+0x41d/0x440
+ ? __warn.cold+0x93/0xf7
+ ? blk_validate_limits+0x41d/0x440
+ ? report_bug+0xff/0x140
+ ? handle_bug+0x58/0x90
+ ? exc_invalid_op+0x17/0x70
+ ? asm_exc_invalid_op+0x1a/0x20
+ ? blk_validate_limits+0x41d/0x440
+ queue_limits_commit_update+0x1b/0xa0
+ drbd_reconsider_queue_parameters+0x1d2/0x240 [drbd 9a1d8dc285f5b1fe449ab4495af7893c660ff3ea]
+ w_after_state_change+0x1997/0x20a0 [drbd 9a1d8dc285f5b1fe449ab4495af7893c660ff3ea]
+ ? idr_get_next_ul+0xee/0x110
+ ? do_unqueued_device_work+0x1da/0x2a0 [drbd 9a1d8dc285f5b1fe449ab4495af7893c660ff3ea]
+ drbd_worker+0x109/0x530 [drbd 9a1d8dc285f5b1fe449ab4495af7893c660ff3ea]
+ ? __pfx_autoremove_wake_function+0x10/0x10
+ ? __pfx_drbd_thread_setup+0x10/0x10 [drbd 9a1d8dc285f5b1fe449ab4495af7893c660ff3ea]
+ drbd_thread_setup+0x6d/0x170 [drbd 9a1d8dc285f5b1fe449ab4495af7893c660ff3ea]
+ kthread+0xcf/0x100
+ ? __pfx_kthread+0x10/0x10
+ ret_from_fork+0x31/0x50
+ ? __pfx_kthread+0x10/0x10
+ ret_from_fork_asm+0x1a/0x30
+
+Jan 08 14:43:37 tw-2 kernel: ---[ end trace 0000000000000000 ]---
+Jan 08 14:43:37 tw-2 kernel: drbd r0/0 drbd0: setting new queue limits failed
+Jan 08 14:43:37 tw-2 kernel: drbd r0/0 drbd0: drbd_bm_resize called with capacity == 0
+Jan 08 14:43:37 tw-2 kernel: drbd /unregistered/r0: Terminating worker thread
+
+---[ end trace 0000000000000000 ]---
+drbd /unregistered/r0/0 drbd0: setting new queue limits failed
+drbd /unregistered/r0: Terminating worker thread
+```
+
+Signed-off-by: Heming Zhao
+---
+
+diff -Nupr a/drbd/drbd_nl.c b/drbd/drbd_nl.c
+--- a/drbd/drbd_nl.c 2025-01-08 14:25:56.369599242 +0800
++++ b/drbd/drbd_nl.c 2025-01-08 14:32:07.260157474 +0800
+@@ -2068,6 +2068,8 @@ static void get_common_queue_limits(stru
+ common_limits->physical_block_size = device->device_conf.block_size;
+ common_limits->logical_block_size = device->device_conf.block_size;
+ common_limits->io_min = device->device_conf.block_size;
++ if (!(common_limits->features & BLK_FEAT_ZONED))
++ common_limits->max_zone_append_sectors = 0;
+
+ rcu_read_lock();
+ for_each_peer_device_rcu(peer_device, device) {
diff --git a/drbd.changes b/drbd.changes
index ed0fb9a..6d4fa9e 100644
--- a/drbd.changes
+++ b/drbd.changes
@@ -1,3 +1,10 @@
+-------------------------------------------------------------------
+Wed Jan 8 07:08:00 UTC 2025 - Heming Zhao
+
+- fix the warning of blk_validate_limits when running drbdadm down (boo#1235399)
+ * add patch
+ boo1235399-fix_the_warning_of_blk_validate_limits.patch
+
-------------------------------------------------------------------
Fri Dec 11 02:35:00 UTC 2024 - Heming Zhao
diff --git a/drbd.spec b/drbd.spec
index 53982cb..a7fc0fb 100644
--- a/drbd.spec
+++ b/drbd.spec
@@ -41,6 +41,7 @@ Patch0001: 0001-drbd-Fix-memory-leak.patch
# suse special patch
Patch1001: bsc-1025089_fix-resync-finished-with-syncs-have-bits-set.patch
Patch1002: suse-coccinelle.patch
+Patch1003: boo1235399-fix_the_warning_of_blk_validate_limits.patch
########################
#https://github.com/openSUSE/rpmlint-checks/blob/master/KMPPolicyCheck.py