Commit 7c52b166 authored by Robert Peterson's avatar Robert Peterson Committed by Steven Whitehouse

[GFS2] Add gfs2_tool lockdump support to gfs2 (bz 228540)

The attached patch resolves bz 228540.  This adds the capability
for gfs2 to dump gfs2 locks through the debugfs file system.
This used to exist in gfs1 as "gfs_tool lockdump" but it's missing from
gfs2 because all the ioctls were stripped out.  Please see the bugzilla
for more history about the fix.  This patch is also attached to the bugzilla
record.

The patch is against Steve Whitehouse's latest nmw git tree kernel
(2.6.21-rc1) and has been tested on system trin-10.
Signed-off-by: default avatarRobert Peterson <rpeterso@redhat.com>
Signed-off-by: default avatarSteven Whitehouse <swhiteho@redhat.com>
parent dc87c398
This diff is collapsed.
...@@ -135,5 +135,9 @@ void gfs2_scand_internal(struct gfs2_sbd *sdp); ...@@ -135,5 +135,9 @@ void gfs2_scand_internal(struct gfs2_sbd *sdp);
void gfs2_gl_hash_clear(struct gfs2_sbd *sdp, int wait); void gfs2_gl_hash_clear(struct gfs2_sbd *sdp, int wait);
int __init gfs2_glock_init(void); int __init gfs2_glock_init(void);
int gfs2_create_debugfs_file(struct gfs2_sbd *sdp);
void gfs2_delete_debugfs_file(struct gfs2_sbd *sdp);
int gfs2_register_debugfs(void);
void gfs2_unregister_debugfs(void);
#endif /* __GLOCK_DOT_H__ */ #endif /* __GLOCK_DOT_H__ */
...@@ -611,6 +611,7 @@ struct gfs2_sbd { ...@@ -611,6 +611,7 @@ struct gfs2_sbd {
unsigned long sd_last_warning; unsigned long sd_last_warning;
struct vfsmount *sd_gfs2mnt; struct vfsmount *sd_gfs2mnt;
struct dentry *debugfs_dentry; /* for debugfs */
}; };
#endif /* __INCORE_DOT_H__ */ #endif /* __INCORE_DOT_H__ */
......
...@@ -103,6 +103,8 @@ static int __init init_gfs2_fs(void) ...@@ -103,6 +103,8 @@ static int __init init_gfs2_fs(void)
if (error) if (error)
goto fail_unregister; goto fail_unregister;
gfs2_register_debugfs();
printk("GFS2 (built %s %s) installed\n", __DATE__, __TIME__); printk("GFS2 (built %s %s) installed\n", __DATE__, __TIME__);
return 0; return 0;
...@@ -130,6 +132,7 @@ fail: ...@@ -130,6 +132,7 @@ fail:
static void __exit exit_gfs2_fs(void) static void __exit exit_gfs2_fs(void)
{ {
gfs2_unregister_debugfs();
unregister_filesystem(&gfs2_fs_type); unregister_filesystem(&gfs2_fs_type);
unregister_filesystem(&gfs2meta_fs_type); unregister_filesystem(&gfs2meta_fs_type);
......
...@@ -690,6 +690,8 @@ static int fill_super(struct super_block *sb, void *data, int silent) ...@@ -690,6 +690,8 @@ static int fill_super(struct super_block *sb, void *data, int silent)
if (error) if (error)
goto fail; goto fail;
gfs2_create_debugfs_file(sdp);
error = gfs2_sys_fs_add(sdp); error = gfs2_sys_fs_add(sdp);
if (error) if (error)
goto fail; goto fail;
...@@ -896,6 +898,7 @@ error: ...@@ -896,6 +898,7 @@ error:
static void gfs2_kill_sb(struct super_block *sb) static void gfs2_kill_sb(struct super_block *sb)
{ {
gfs2_delete_debugfs_file(sb->s_fs_info);
kill_block_super(sb); kill_block_super(sb);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment