File boo1240916-fix_build_error_against_kernel_v6.14.patch of Package drbd.20250509064826

From 925be734ea4c3eca817bb5bf5c850fd65a855420 Mon Sep 17 00:00:00 2001
From: Su Yue <glass.su@suse.com>
Date: Wed, 9 Apr 2025 16:40:32 +0800
Subject: [PATCH] drbd: fix build error against kernel v6.14
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

kernel commit f7862dfef661 ("saner replacement for debugfs_rename()")
replaces debugfs_rename() with debugfs_change_name().

Hence drbd failed to be build with v6.14:

[   74s ] /home/abuild/rpmbuild/BUILD/drbd-9.1.23-build/drbd-9.1.23/default/./drbd_debugfs.c: In function ‘drbd_debugfs_resource_rename’:
[   74s ] /home/abuild/rpmbuild/BUILD/drbd-9.1.23-build/drbd-9.1.23/default/./drbd_debugfs.c:705:17: error: implicit declaration of function ‘debugfs_rename’; did you mean ‘debugfs_remove’? [-Wimplicit-function-declaration]
[   74s ]   705 |         new_d = debugfs_rename(drbd_debugfs_resources, resource->debugfs_res,
[   74s ]       |                 ^~~~~~~~~~~~~~
[   74s ]       |                 debugfs_remove
[   74s ] /home/abuild/rpmbuild/BUILD/drbd-9.1.23-build/drbd-9.1.23/default/./drbd_debugfs.c:705:15: error: assignment to ‘struct dentry *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
[   74s ]   705 |         new_d = debugfs_rename(drbd_debugfs_resources, resource->debugfs_res,
[   74s ]       |               ^
[   74s ] make[3]: *** [/usr/src/linux-6.14.0-1/scripts/Makefile.build:208: drbd_debugfs.o] Error 1

Signed-off-by: Su Yue <glass.su@suse.com>
---
 drbd/drbd_debugfs.c | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/drbd/drbd_debugfs.c b/drbd/drbd_debugfs.c
index 3f48dbee4e9a..4ed8b16a334e 100644
--- a/drbd/drbd_debugfs.c
+++ b/drbd/drbd_debugfs.c
@@ -771,15 +771,10 @@ void drbd_debugfs_resource_cleanup(struct drbd_resource *resource)
 
 void drbd_debugfs_resource_rename(struct drbd_resource *resource, const char *new_name)
 {
-	struct dentry *new_d;
+	int err = debugfs_change_name(resource->debugfs_res, "%s", new_name);
 
-	new_d = debugfs_rename(drbd_debugfs_resources, resource->debugfs_res,
-				drbd_debugfs_resources, new_name);
-	if (IS_ERR(new_d)) {
+	if (err)
 		drbd_err(resource, "failed to rename debugfs entry for resource\n");
-	} else {
-		resource->debugfs_res = new_d;
-	}
 }
 
 static void seq_print_one_timing_detail(struct seq_file *m,
-- 
2.48.1

openSUSE Build Service is sponsored by