I ended up using ceph instead of gfs2 because of this error. I do still have the kernel source (linux 3.2.0) that I was using at the time, and it's actually completely different than the gfs2_unlink routine in the patch.
There are no lines with if(!rgd). This is what I've got: static int gfs2_unlink(struct inode *dir, struct dentry *dentry) { struct gfs2_inode *dip = GFS2_I(dir); struct gfs2_sbd *sdp = GFS2_SB(dir); struct inode *inode = dentry->d_inode; struct gfs2_inode *ip = GFS2_I(inode); struct buffer_head *bh; struct gfs2_holder ghs[3]; struct gfs2_rgrpd *rgd; int error; gfs2_holder_init(dip->i_gl, LM_ST_EXCLUSIVE, 0, ghs); gfs2_holder_init(ip->i_gl, LM_ST_EXCLUSIVE, 0, ghs + 1); rgd = gfs2_blk2rgrpd(sdp, ip->i_no_addr); gfs2_holder_init(rgd->rd_gl, LM_ST_EXCLUSIVE, 0, ghs + 2); error = gfs2_glock_nq(ghs); /* parent */ if (error) goto out_parent; error = gfs2_glock_nq(ghs + 1); /* child */ if (error) goto out_child; error = -ENOENT; if (inode->i_nlink == 0) goto out_rgrp; if (S_ISDIR(inode->i_mode)) { error = -ENOTEMPTY; if (ip->i_entries > 2 || inode->i_nlink > 2) goto out_rgrp; } error = gfs2_glock_nq(ghs + 2); /* rgrp */ if (error) goto out_rgrp; error = gfs2_unlink_ok(dip, &dentry->d_name, ip); if (error) goto out_gunlock; error = gfs2_trans_begin(sdp, 2*RES_DINODE + 3*RES_LEAF + RES_RG_BIT, 0); if (error) goto out_gunlock; error = gfs2_meta_inode_buffer(ip, &bh); if (error) goto out_end_trans; error = gfs2_unlink_inode(dip, dentry, bh); brelse(bh); out_end_trans: gfs2_trans_end(sdp); out_gunlock: gfs2_glock_dq(ghs + 2); out_rgrp: gfs2_holder_uninit(ghs + 2); gfs2_glock_dq(ghs + 1); out_child: gfs2_holder_uninit(ghs + 1); gfs2_glock_dq(ghs); out_parent: gfs2_holder_uninit(ghs); return error; } Dave Spano Optogenics Systems Administrator ----- Original Message ----- From: "Bart Verwilst" <b...@verwilst.be> To: dsp...@optogenics.com Sent: Tuesday, August 21, 2012 8:26:22 AM Subject: [Bug 1020207] Re: gfs2 kernel oops when deleting file on other cluster node "I wonder whether your distro kernel has this patch: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=718b97bd6b03445be53098e3c8f896aeebc304aa Thats the most likely thing that I can see that has been fixed recently." >> Steven Whitehouse from Redhat. -- You received this bug notification because you are subscribed to the bug report. https://bugs.launchpad.net/bugs/1020207 Title: gfs2 kernel oops when deleting file on other cluster node Status in “gfs2-utils” package in Ubuntu: Confirmed Bug description: I have an active/active drbd cluster with pacemaker running on cman. If I create a file on the shared gfs2 file system on one node, then try to delete it on the other, I'm receiving this kernel panic. I get the same error on both nodes, so it's not specific to either machine. Jul 2 12:54:37 ha1 lrmd: [40983]: info: operation monitor[35] on nova-volumes:0 for client 40986: pid 2385 exited with return code 0 Jul 2 12:54:43 ha1 lrmd: [40983]: debug: rsc:p_gfsd:1 monitor[63] (pid 2459) Jul 2 12:54:43 ha1 lrmd: [40983]: info: operation monitor[63] on p_gfsd:1 for client 40986: pid 2459 exited with return code 0 Jul 2 12:54:49 ha1 kernel: [238066.234067] BUG: unable to handle kernel NULL pointer dereference at 0000000000000018 Jul 2 12:54:49 ha1 kernel: [238066.236034] IP: [<ffffffffa037c00a>] gfs2_unlink+0x8a/0x220 [gfs2] Jul 2 12:54:49 ha1 kernel: [238066.237305] PGD 40ca9f067 PUD 40de7b067 PMD 0 Jul 2 12:54:49 ha1 kernel: [238066.237336] Oops: 0000 [#1] SMP Jul 2 12:54:49 ha1 kernel: [238066.237336] CPU 7 Jul 2 12:54:49 ha1 kernel: [238066.237336] Modules linked in: gfs2 drbd lru_cache ipmi_si mpt2sas scsi_transport_sas raid_class mptctl mptbase ipmi_devintf ipmi_msghandler dell_rbu kvm_amd kvm dlm configfs vesafb ib_iser rdma_cm ib_cm iw_cm ib_sa ib_mad ib_core ib_addr iscsi_tcp libiscsi_tcp libiscsi scsi_transport_iscsi ext2 bonding psmouse sp5100_tco dcdbas tpm_tis joydev serio_raw i2c_piix4 amd64_edac_mod k10temp edac_core acpi_power_meter edac_mce_amd mac_hid lp parport usbhid hid ses enclosure igb megaraid_sas dca bnx2 [last unloaded: ipmi_si] Jul 2 12:54:49 ha1 kernel: [238066.237336] Jul 2 12:54:49 ha1 kernel: [238066.237336] Pid: 2544, comm: rm Not tainted 3.2.0-26-generic #41-Ubuntu Dell Inc. PowerEdge R515/03X0MN Jul 2 12:54:49 ha1 kernel: [238066.237336] RIP: 0010:[<ffffffffa037c00a>] [<ffffffffa037c00a>] gfs2_unlink+0x8a/0x220 [gfs2] Jul 2 12:54:49 ha1 kernel: [238066.237336] RSP: 0018:ffff8801fe13fd28 EFLAGS: 00010296 Jul 2 12:54:49 ha1 kernel: [238066.380032] RAX: 0000000000000000 RBX: ffff880410faa080 RCX: ffff8801fe13fd40 Jul 2 12:54:49 ha1 kernel: [238066.380032] RDX: 0000000000000000 RSI: 0000000000012346 RDI: ffff88040c8b1440 Jul 2 12:54:49 ha1 kernel: [238066.380032] RBP: ffff8801fe13fe38 R08: 4000000000000000 R09: 0000000000000000 Jul 2 12:54:49 ha1 kernel: [238066.380032] R10: fde3ec81bcd7720a R11: 0000000000000008 R12: ffff8801ffc709c0 Jul 2 12:54:49 ha1 kernel: [238066.380032] R13: ffff8801fe13fd80 R14: ffff8803f479d140 R15: ffff88040c8b1000 Jul 2 12:54:49 ha1 kernel: [238066.380032] FS: 00007fa1b5055700(0000) GS:ffff88041fa20000(0000) knlGS:0000000000000000 Jul 2 12:54:49 ha1 kernel: [238066.380032] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 Jul 2 12:54:49 ha1 kernel: [238066.380032] CR2: 0000000000000018 CR3: 00000003f207c000 CR4: 00000000000006e0 Jul 2 12:54:49 ha1 kernel: [238066.380032] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 Jul 2 12:54:49 ha1 kernel: [238066.380032] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 Jul 2 12:54:49 ha1 kernel: [238066.380032] Process rm (pid: 2544, threadinfo ffff8801fe13e000, task ffff8802044b5bc0) Jul 2 12:54:49 ha1 kernel: [238066.380032] Stack: Jul 2 12:54:49 ha1 kernel: [238066.380032] 0000000000000003 ffff8801fa72e260 ffff8801fe13fd58 ffff8801fe13fd40 Jul 2 12:54:49 ha1 kernel: [238066.380032] ffff8801fe13fd40 ffff8801fa72e218 ffff88020476a680 0000000000000001 Jul 2 12:54:49 ha1 kernel: [238066.380032] 0000000000000000 0000000000000000 ffffffffa037bfda ffff8801fe13fd80 Jul 2 12:54:49 ha1 kernel: [238066.380032] Call Trace: Jul 2 12:54:49 ha1 kernel: [238066.380032] [<ffffffffa037bfda>] ? gfs2_unlink+0x5a/0x220 [gfs2] Jul 2 12:54:49 ha1 kernel: [238066.380032] [<ffffffffa037bff4>] ? gfs2_unlink+0x74/0x220 [gfs2] Jul 2 12:54:49 ha1 kernel: [238066.380032] [<ffffffff8129cb2c>] ? security_inode_permission+0x1c/0x30 Jul 2 12:54:49 ha1 kernel: [238066.380032] [<ffffffff81184e70>] vfs_unlink.part.26+0x80/0xf0 Jul 2 12:54:49 ha1 kernel: [238066.380032] [<ffffffff81184f1c>] vfs_unlink+0x3c/0x60 Jul 2 12:54:49 ha1 kernel: [238066.380032] [<ffffffff8118758a>] do_unlinkat+0x1aa/0x1d0 Jul 2 12:54:49 ha1 kernel: [238066.380032] [<ffffffff8117ce5a>] ? sys_newfstatat+0x2a/0x40 Jul 2 12:54:49 ha1 kernel: [238066.380032] [<ffffffff811880d2>] sys_unlinkat+0x22/0x40 Jul 2 12:54:49 ha1 kernel: [238066.380032] [<ffffffff81661fc2>] system_call_fastpath+0x16/0x1b Jul 2 12:54:49 ha1 kernel: [238066.380032] Code: 00 00 49 83 c5 40 31 d2 4c 89 e9 be 01 00 00 00 e8 fc 1e ff ff 48 8b b3 28 02 00 00 4c 89 ff e8 ad 7e 00 00 48 8d 8d 08 ff ff ff <48> 8b 78 18 31 d2 be 01 00 00 00 48 83 e9 80 e8 d2 1e ff ff 48 Jul 2 12:54:49 ha1 kernel: [238066.380032] RIP [<ffffffffa037c00a>] gfs2_unlink+0x8a/0x220 [gfs2] Jul 2 12:54:49 ha1 kernel: [238066.380032] RSP <ffff8801fe13fd28> Jul 2 12:54:49 ha1 kernel: [238066.380032] CR2: 0000000000000018 Jul 2 12:54:49 ha1 kernel: [238066.394510] ---[ end trace 2009fc896a3dd969 ]--- To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/gfs2-utils/+bug/1020207/+subscriptions -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1020207 Title: gfs2 kernel oops when deleting file on other cluster node To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/gfs2-utils/+bug/1020207/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs