gfs2 filesystem and dlm development
 help / color / mirror / Atom feed
* Re: [PATCH] gfs2: add missing __rcu annotation to i_gl in incore.h
@ 2026-07-24 16:50 Adrian Garcia Casado
  0 siblings, 0 replies; 10+ messages in thread
From: Adrian Garcia Casado @ 2026-07-24 16:50 UTC (permalink / raw)
  To: Andreas Gruenbacher; +Cc: gfs2, linux-kernel

Hi Andreas,

I am terribly sorry for the confusion and the noise in my previous email. 
I completely misread your message and drafted a rushed reply by mistake. 
Please disregard my previous "Thanks for applying" message.

You are absolutely right. Adding the __rcu annotation only exposes the 
200 sparse warnings without fixing the actual underlying RCU dereferences, 
which is indeed not very useful for upstream yet.

I will go back and work on a proper patch series to cleanly address those 
underlying RCU dereference warnings in fs/gfs2/ before submitting again.

My sincere apologies for the noise, and thank you for your patience and 
valuable feedback.

Best regards,
Adrian


^ permalink raw reply	[flat|nested] 10+ messages in thread
* Re: [PATCH] gfs2: add missing __rcu annotation to i_gl in incore.h
@ 2026-07-24 16:08 Adrian Garcia Casado
  0 siblings, 0 replies; 10+ messages in thread
From: Adrian Garcia Casado @ 2026-07-24 16:08 UTC (permalink / raw)
  To: Andreas Gruenbacher; +Cc: gfs2, linux-kernel

Hi Andreas,

Thanks for applying the patch!

For the record, I have successfully boot-tested the patched v7.2-rc4+
kernel on bare-metal x86_64 (Debian 13 native on an ASUS Vivobook).

To stress-test the kernel stability under load, I ran some heavy workloads:
- A standalone loopback mount of GFS2 (using lock_nolock) with I/O stress
  tests (100+ concurrent files).
- A full multi-threaded compilation of the PCSX2 emulator (using CMake
  and Ninja) with all CPU cores sustained at 100% load.

The system behaved completely stable with no deadlocks, hangs, or OOM.

Tested-by: Adrian Garcia Casado <adriangarciacasado42@gmail.com>

Best regards,
Adrian


^ permalink raw reply	[flat|nested] 10+ messages in thread
* Re: [PATCH] gfs2: add missing __rcu annotation to i_gl in incore.h
@ 2026-07-24 16:08 Adrian Garcia Casado
  0 siblings, 0 replies; 10+ messages in thread
From: Adrian Garcia Casado @ 2026-07-24 16:08 UTC (permalink / raw)
  To: Andreas Gruenbacher; +Cc: gfs2, linux-kernel

Hi Andreas,

Thanks for applying the patch!

For the record, I have successfully boot-tested the patched v7.2-rc4+
kernel on bare-metal x86_64 (Debian 13 native on an ASUS Vivobook).

To stress-test the kernel stability under load, I ran some heavy workloads:
- A standalone loopback mount of GFS2 (using lock_nolock) with I/O stress
  tests (100+ concurrent files).
- A full multi-threaded compilation of the PCSX2 emulator (using CMake
  and Ninja) with all CPU cores sustained at 100% load.

The system behaved completely stable with no deadlocks, hangs, or OOM.

Tested-by: Adrian Garcia Casado <adriangarciacasado42@gmail.com>

Best regards,
Adrian


^ permalink raw reply	[flat|nested] 10+ messages in thread
* [PATCH] gfs2: add missing __rcu annotation to i_gl in incore.h
@ 2026-07-23 17:44 Adrian Garcia Casado
  0 siblings, 0 replies; 10+ messages in thread
From: Adrian Garcia Casado @ 2026-07-23 17:44 UTC (permalink / raw)
  To: gfs2; +Cc: linux-kernel, agruenba

Signed-off-by: Adrian Garcia Casado <adriangarciacasado42@gmail.com>
---
 fs/gfs2/incore.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/gfs2/incore.h b/fs/gfs2/incore.h
index 614657778..16df75336 100644
--- a/fs/gfs2/incore.h
+++ b/fs/gfs2/incore.h
@@ -392,7 +392,7 @@ struct gfs2_inode {
 	u64 i_generation;
 	u64 i_eattr;
 	unsigned long i_flags;		/* GIF_... */
-	struct gfs2_glock *i_gl;
+	struct gfs2_glock __rcu *i_gl;
 	struct gfs2_holder i_iopen_gh;
 	struct gfs2_qadata *i_qadata; /* quota allocation data */
 	struct gfs2_holder i_rgd_gh;
-- 
2.47.3



^ permalink raw reply related	[flat|nested] 10+ messages in thread
* [PATCH] gfs2: add missing __rcu annotation to i_gl in incore.h
@ 2026-06-30 10:02 Adrian Garcia Casado
  2026-07-24 15:32 ` Andreas Gruenbacher
  0 siblings, 1 reply; 10+ messages in thread
From: Adrian Garcia Casado @ 2026-06-30 10:02 UTC (permalink / raw)
  To: gfs2; +Cc: linux-kernel, agruenba

In gfs2_inode_lookup() and other parts of the GFS2 filesystem,
ip->i_gl is accessed and dereferenced via RCU helpers like
rcu_dereference_check() and rcu_access_pointer(). However, the
actual i_gl pointer in struct gfs2_inode was never annotated
with __rcu in incore.h.

This missing annotation causes Sparse to throw multiple
"incompatible types in comparison expression (different address spaces)"
warnings and compilation-blocking errors under strict static analysis builds.

Fix this by adding the __rcu annotation to i_gl in struct gfs2_inode.

Signed-off-by: Adrian Garcia Casado <adriangarciacasado42@gmail.com>
Tested-by: Adrian Garcia Casado <adriangarciacasado42@gmail.com>
---

diff --git a/fs/gfs2/incore.h b/fs/gfs2/incore.h
index 6146577..16df753 100644
--- a/fs/gfs2/incore.h
+++ b/fs/gfs2/incore.h
@@ -392,7 +392,7 @@ struct gfs2_inode {
 	u64 i_generation;
 	u64 i_eattr;
 	unsigned long i_flags;		/* GIF_... */
-	struct gfs2_glock *i_gl;
+	struct gfs2_glock __rcu *i_gl;
 	struct gfs2_holder i_iopen_gh;
 	struct gfs2_qadata *i_qadata; /* quota allocation data */
 	struct gfs2_holder i_rgd_gh;


^ permalink raw reply related	[flat|nested] 10+ messages in thread
* [PATCH] gfs2: add missing __rcu annotation to i_gl in incore.h
@ 2026-06-30  9:55 Adrian Garcia Casado
  0 siblings, 0 replies; 10+ messages in thread
From: Adrian Garcia Casado @ 2026-06-30  9:55 UTC (permalink / raw)
  To: gfs2; +Cc: linux-kernel, rpeterso, agruenba

In gfs2_inode_lookup() and other parts of the GFS2 filesystem,
ip->i_gl is accessed and dereferenced via RCU helpers like
rcu_dereference_check() and rcu_access_pointer(). However, the
actual i_gl pointer in struct gfs2_inode was never annotated
with __rcu in incore.h.

This missing annotation causes Sparse to throw multiple
"incompatible types in comparison expression (different address spaces)"
warnings and compilation-blocking errors under strict static analysis builds.

Fix this by adding the __rcu annotation to i_gl in struct gfs2_inode.

Signed-off-by: Adrian Garcia Casado <adriangarciacasado42@gmail.com>
Tested-by: Adrian Garcia Casado <adriangarciacasado42@gmail.com>
---

diff --git a/fs/gfs2/incore.h b/fs/gfs2/incore.h
index 6146577..16df753 100644
--- a/fs/gfs2/incore.h
+++ b/fs/gfs2/incore.h
@@ -392,7 +392,7 @@ struct gfs2_inode {
 	u64 i_generation;
 	u64 i_eattr;
 	unsigned long i_flags;		/* GIF_... */
-	struct gfs2_glock *i_gl;
+	struct gfs2_glock __rcu *i_gl;
 	struct gfs2_holder i_iopen_gh;
 	struct gfs2_qadata *i_qadata; /* quota allocation data */
 	struct gfs2_holder i_rgd_gh;


^ permalink raw reply related	[flat|nested] 10+ messages in thread
* [PATCH] gfs2: add missing __rcu annotation to i_gl in incore.h
@ 2026-06-18 13:56 Adrian
  0 siblings, 0 replies; 10+ messages in thread
From: Adrian @ 2026-06-18 13:56 UTC (permalink / raw)
  To: gfs2; +Cc: linux-kernel

Signed-off-by: Adrian <adrian@tu-correo.com>
---
 fs/gfs2/incore.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/gfs2/incore.h b/fs/gfs2/incore.h
index 614657778..16df75336 100644
--- a/fs/gfs2/incore.h
+++ b/fs/gfs2/incore.h
@@ -392,7 +392,7 @@ struct gfs2_inode {
 	u64 i_generation;
 	u64 i_eattr;
 	unsigned long i_flags;		/* GIF_... */
-	struct gfs2_glock *i_gl;
+	struct gfs2_glock __rcu *i_gl;
 	struct gfs2_holder i_iopen_gh;
 	struct gfs2_qadata *i_qadata; /* quota allocation data */
 	struct gfs2_holder i_rgd_gh;
-- 
2.47.3



^ permalink raw reply related	[flat|nested] 10+ messages in thread
* [PATCH] gfs2: add missing __rcu annotation to i_gl in incore.h
@ 2026-06-18 13:56 Adrian
  0 siblings, 0 replies; 10+ messages in thread
From: Adrian @ 2026-06-18 13:56 UTC (permalink / raw)
  To: gfs2; +Cc: linux-kernel

Signed-off-by: Adrian <adriangarciacasado42@gmail.com>
---
 fs/gfs2/incore.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/gfs2/incore.h b/fs/gfs2/incore.h
index 614657778..16df75336 100644
--- a/fs/gfs2/incore.h
+++ b/fs/gfs2/incore.h
@@ -392,7 +392,7 @@ struct gfs2_inode {
 	u64 i_generation;
 	u64 i_eattr;
 	unsigned long i_flags;		/* GIF_... */
-	struct gfs2_glock *i_gl;
+	struct gfs2_glock __rcu *i_gl;
 	struct gfs2_holder i_iopen_gh;
 	struct gfs2_qadata *i_qadata; /* quota allocation data */
 	struct gfs2_holder i_rgd_gh;
-- 
2.47.3



^ permalink raw reply related	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2026-07-24 16:51 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-24 16:50 [PATCH] gfs2: add missing __rcu annotation to i_gl in incore.h Adrian Garcia Casado
  -- strict thread matches above, loose matches on Subject: below --
2026-07-24 16:08 Adrian Garcia Casado
2026-07-24 16:08 Adrian Garcia Casado
2026-07-23 17:44 Adrian Garcia Casado
2026-06-30 10:02 Adrian Garcia Casado
2026-07-24 15:32 ` Andreas Gruenbacher
     [not found]   ` <CA+cq9YO=6PJ1Xx97vMuWsv+h8ebe2a8mKYoktuyZOY6MBKRxzg@mail.gmail.com>
2026-07-24 16:17     ` Andreas Gruenbacher
2026-06-30  9:55 Adrian Garcia Casado
2026-06-18 13:56 Adrian
2026-06-18 13:56 Adrian

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox