From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx1.redhat.com ([209.132.183.28]:44612 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753981AbcFTQD1 (ORCPT ); Mon, 20 Jun 2016 12:03:27 -0400 Received: from int-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 13FD4105C93 for ; Mon, 20 Jun 2016 15:55:34 +0000 (UTC) From: Bob Peterson To: Cc: cluster-devel@redhat.com Subject: [PATCH 0/4] Patches for gfs2_lookup_by_inum deadlock Date: Mon, 20 Jun 2016 10:55:29 -0500 Message-Id: <1466438133-10564-1-git-send-email-rpeterso@redhat.com> Sender: linux-fsdevel-owner@vger.kernel.org List-ID: Hi, This is a set of four patches from Andreas Gruenbacher that fix the gfs2_lookup_by_inum deadlock problem, plus a few bugs we've uncovered during testing, and a cleanup or two. I've been working with Andreas for a while now, and we've both made several attempts to fix this problem in the past, in regard to the transition of dinodes from the "unlinked" to the "free" state. This is the latest attempt, and it seems to be working well. I sent the first 3 patches on 15 June, and Andreas had posted some of this as well, but I wanted to add the fourth patch, plus cc linux-fsdevel. Prior to that, a previous version was posted which included a patch to VFS, but Al Viro didn't like that. That design was scrapped in favor of this one, which is simpler and confined to GFS2. Hopefully Al will like this implementation. Signed-off-by: Andreas Gruenbacher Signed-off-by: Bob Peterson --- Andreas Gruenbacher (4): gfs2: Fix gfs2_lookup_by_inum lock inversion gfs2: Get rid of gfs2_ilookup gfs2: Large-filesystem fix for 32-bit systems gfs2: Lock holder cleanup fs/gfs2/dentry.c | 2 +- fs/gfs2/dir.c | 3 +- fs/gfs2/export.c | 11 ----- fs/gfs2/file.c | 2 +- fs/gfs2/glock.c | 11 +---- fs/gfs2/glock.h | 10 ++++ fs/gfs2/inode.c | 128 ++++++++++++++++++++++++++++++++++----------------- fs/gfs2/inode.h | 4 +- fs/gfs2/main.c | 2 +- fs/gfs2/ops_fstype.c | 3 +- fs/gfs2/quota.c | 2 +- fs/gfs2/rgrp.c | 4 +- fs/gfs2/super.c | 24 ++++++---- 13 files changed, 123 insertions(+), 83 deletions(-) -- 2.5.5