From owner-freebsd-net@FreeBSD.ORG Fri Jul 22 21:11:27 2011 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7518C106568F; Fri, 22 Jul 2011 21:11:27 +0000 (UTC) (envelope-from rmacklem@uoguelph.ca) Received: from esa-jnhn.mail.uoguelph.ca (esa-jnhn.mail.uoguelph.ca [131.104.91.44]) by mx1.freebsd.org (Postfix) with ESMTP id E08028FC17; Fri, 22 Jul 2011 21:11:26 +0000 (UTC) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Ap8EAAfnKU6DaFvO/2dsb2JhbABHDBuEMaN3iQCqbZB+gyaCCoEPBJJukHs X-IronPort-AV: E=Sophos;i="4.67,249,1309752000"; d="scan'208";a="132000631" Received: from erie.cs.uoguelph.ca (HELO zcs3.mail.uoguelph.ca) ([131.104.91.206]) by esa-jnhn-pri.mail.uoguelph.ca with ESMTP; 22 Jul 2011 17:11:26 -0400 Received: from zcs3.mail.uoguelph.ca (localhost.localdomain [127.0.0.1]) by zcs3.mail.uoguelph.ca (Postfix) with ESMTP id 26610B3E95; Fri, 22 Jul 2011 17:11:26 -0400 (EDT) Date: Fri, 22 Jul 2011 17:11:26 -0400 (EDT) From: Rick Macklem To: Jeremiah Lott Message-ID: <1931983408.909766.1311369086133.JavaMail.root@erie.cs.uoguelph.ca> In-Reply-To: <44626428-CF14-4B20-AB57-6D4E8F4678AE@averesystems.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_909765_1893841085.1311369086132" X-Originating-IP: [172.17.91.201] X-Mailer: Zimbra 6.0.10_GA_2692 (ZimbraWebClient - FF3.0 (Win)/6.0.10_GA_2692) Cc: freebsd-net@freebsd.org, kib@freebsd.org, John Baldwin Subject: Re: LOR with nfsclient "sillyrename" X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 22 Jul 2011 21:11:27 -0000 ------=_Part_909765_1893841085.1311369086132 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Jeremiah Lott wrote: > We're seeing nfsclient deadlocks with what looks like lock order > reversal after removing a "silly rename". It is fairly rare, but we've > seen it happen a few times. I included relevant back traces from an > occurrence. From what I can see, nfs_inactive() is called with the > vnode locked. If there is a silly-rename, it will call vrele() on its > parent directory, which can potentially try to lock the parent > directory. Since this is the opposite order of the lock acquisition in > lookup, it can deadlock. This happened in a FreeBSD7 build, but I > looked through freebsd head and didn't see any change that addressed > this. Anyone seen this before? > > Jeremiah Lott > Avere Systems > Please try the attached patch (which is also at): http://people.freebsd.org/~rmacklem/oldsilly.patch http://people.freebsd.org/~rmacklem/newsilly.patch (for the old and new clients in -current, respectively) - I think oldsilly.patch should apply to the 7.n kernel sources, although you might have to do the edit by hand? The patch is based on what jhb@ posted, with changes as recommended by kib@. Please let me know how testing goes with it, rick ps: Kostik, could you please review this, thanks. ------=_Part_909765_1893841085.1311369086132 Content-Type: text/x-patch; name=oldsilly.patch Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=oldsilly.patch LS0tIG5mc2NsaWVudC9uZnNub2RlLmguc2F2CTIwMTEtMDctMjIgMTU6MzE6MTEuMDAwMDAwMDAw IC0wNDAwCisrKyBuZnNjbGllbnQvbmZzbm9kZS5oCTIwMTEtMDctMjIgMTU6MzI6NTQuMDAwMDAw MDAwIC0wNDAwCkBAIC0zNiw2ICszNiw3IEBACiAjaWZuZGVmIF9ORlNDTElFTlRfTkZTTk9ERV9I XwogI2RlZmluZSBfTkZTQ0xJRU5UX05GU05PREVfSF8KIAorI2luY2x1ZGUgPHN5cy9fdGFzay5o PgogI2lmICFkZWZpbmVkKF9ORlNDTElFTlRfTkZTX0hfKSAmJiAhZGVmaW5lZChfS0VSTkVMKQog I2luY2x1ZGUgPG5mcy9uZnMuaD4KICNlbmRpZgpAQCAtNDUsNiArNDYsNyBAQAogICogY2FuIGJl IHJlbW92ZWQgYnkgbmZzX2luYWN0aXZlKCkKICAqLwogc3RydWN0IHNpbGx5cmVuYW1lIHsKKwlz dHJ1Y3QJdGFzayBzX3Rhc2s7CiAJc3RydWN0CXVjcmVkICpzX2NyZWQ7CiAJc3RydWN0CXZub2Rl ICpzX2R2cDsKIAlpbnQJKCpzX3JlbW92ZWl0KShzdHJ1Y3Qgc2lsbHlyZW5hbWUgKnNwKTsKLS0t IG5mc2NsaWVudC9uZnNfbm9kZS5jLnNhdgkyMDExLTA3LTIyIDE1OjMzOjA0LjAwMDAwMDAwMCAt MDQwMAorKysgbmZzY2xpZW50L25mc19ub2RlLmMJMjAxMS0wNy0yMiAxNjozMTo0NS4wMDAwMDAw MDAgLTA0MDAKQEAgLTQ3LDYgKzQ3LDcgQEAgX19GQlNESUQoIiRGcmVlQlNEOiBoZWFkL3N5cy9u ZnNjbGllbnQvbgogI2luY2x1ZGUgPHN5cy9wcm9jLmg+CiAjaW5jbHVkZSA8c3lzL3NvY2tldC5o PgogI2luY2x1ZGUgPHN5cy9zeXNjdGwuaD4KKyNpbmNsdWRlIDxzeXMvdGFza3F1ZXVlLmg+CiAj aW5jbHVkZSA8c3lzL3Zub2RlLmg+CiAKICNpbmNsdWRlIDx2bS91bWEuaD4KQEAgLTU5LDYgKzYw LDggQEAgX19GQlNESUQoIiRGcmVlQlNEOiBoZWFkL3N5cy9uZnNjbGllbnQvbgogCiBzdGF0aWMg dW1hX3pvbmVfdCBuZnNub2RlX3pvbmU7CiAKK3N0YXRpYyB2b2lkCW5mc19mcmVlc2lsbHlyZW5h bWUodm9pZCAqYXJnLCBfX3VudXNlZCBpbnQgcGVuZGluZyk7CisKICNkZWZpbmUgVFJVRQkxCiAj ZGVmaW5lCUZBTFNFCTAKIApAQCAtMTg1LDYgKzE4OCwyMCBAQCBuZnNfbmdldChzdHJ1Y3QgbW91 bnQgKm1udHAsIG5mc2ZoX3QgKmZoCiAJcmV0dXJuICgwKTsKIH0KIAorLyoKKyAqIERvIHRoZSB2 cmVsZShzcC0+c19kdnApIGFzIGEgc2VwYXJhdGUgdGFzayBpbiBvcmRlciB0byBhdm9pZCBhCisg KiBkZWFkbG9jayBiZWNhdXNlIG9mIGEgTE9SIHdoZW4gdnJlbGUoKSBsb2NrcyB0aGUgZGlyZWN0 b3J5IHZub2RlLgorICovCitzdGF0aWMgdm9pZAorbmZzX2ZyZWVzaWxseXJlbmFtZSh2b2lkICph cmcsIF9fdW51c2VkIGludCBwZW5kaW5nKQoreworCXN0cnVjdCBzaWxseXJlbmFtZSAqc3A7CisK KwlzcCA9IGFyZzsKKwl2cmVsZShzcC0+c19kdnApOworCWZyZWUoc3AsIE1fTkZTUkVRKTsKK30K KwogaW50CiBuZnNfaW5hY3RpdmUoc3RydWN0IHZvcF9pbmFjdGl2ZV9hcmdzICphcCkKIHsKQEAg LTIwNyw4ICsyMjQsOCBAQCBuZnNfaW5hY3RpdmUoc3RydWN0IHZvcF9pbmFjdGl2ZV9hcmdzICph CiAJCSAqLwogCQkoc3AtPnNfcmVtb3ZlaXQpKHNwKTsKIAkJY3JmcmVlKHNwLT5zX2NyZWQpOwot CQl2cmVsZShzcC0+c19kdnApOwotCQlmcmVlKChjYWRkcl90KXNwLCBNX05GU1JFUSk7CisJCVRB U0tfSU5JVCgmc3AtPnNfdGFzaywgMCwgbmZzX2ZyZWVzaWxseXJlbmFtZSwgc3ApOworCQl0YXNr cXVldWVfZW5xdWV1ZSh0YXNrcXVldWVfdGhyZWFkLCAmc3AtPnNfdGFzayk7CiAJCW10eF9sb2Nr KCZucC0+bl9tdHgpOwogCX0KIAlucC0+bl9mbGFnICY9IE5NT0RJRklFRDsK ------=_Part_909765_1893841085.1311369086132 Content-Type: text/x-patch; name=newsilly.patch Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=newsilly.patch LS0tIGZzL25mc2NsaWVudC9uZnNub2RlLmguc2F2MgkyMDExLTA3LTIyIDE1OjQyOjE0LjAwMDAw MDAwMCAtMDQwMAorKysgZnMvbmZzY2xpZW50L25mc25vZGUuaAkyMDExLTA3LTIyIDE1OjQzOjI1 LjAwMDAwMDAwMCAtMDQwMApAQCAtMzUsMTEgKzM1LDE0IEBACiAjaWZuZGVmIF9ORlNDTElFTlRf TkZTTk9ERV9IXwogI2RlZmluZQlfTkZTQ0xJRU5UX05GU05PREVfSF8KIAorI2luY2x1ZGUgPHN5 cy9fdGFzay5oPgorCiAvKgogICogU2lsbHkgcmVuYW1lIHN0cnVjdHVyZSB0aGF0IGhhbmdzIG9m ZiB0aGUgbmZzbm9kZSB1bnRpbCB0aGUgbmFtZQogICogY2FuIGJlIHJlbW92ZWQgYnkgbmZzX2lu YWN0aXZlKCkKICAqLwogc3RydWN0IHNpbGx5cmVuYW1lIHsKKwlzdHJ1Y3QJdGFzayBzX3Rhc2s7 CiAJc3RydWN0CXVjcmVkICpzX2NyZWQ7CiAJc3RydWN0CXZub2RlICpzX2R2cDsKIAlsb25nCXNf bmFtbGVuOwotLS0gZnMvbmZzY2xpZW50L25mc19jbG5vZGUuYy5zYXYyCTIwMTEtMDctMjIgMTU6 NDM6NDAuMDAwMDAwMDAwIC0wNDAwCisrKyBmcy9uZnNjbGllbnQvbmZzX2Nsbm9kZS5jCTIwMTEt MDctMjIgMTY6MzI6NTMuMDAwMDAwMDAwIC0wNDAwCkBAIC00Nyw2ICs0Nyw3IEBAIF9fRkJTRElE KCIkRnJlZUJTRDogaGVhZC9zeXMvZnMvbmZzY2xpZW4KICNpbmNsdWRlIDxzeXMvcHJvYy5oPgog I2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KICNpbmNsdWRlIDxzeXMvc3lzY3RsLmg+CisjaW5jbHVk ZSA8c3lzL3Rhc2txdWV1ZS5oPgogI2luY2x1ZGUgPHN5cy92bm9kZS5oPgogCiAjaW5jbHVkZSA8 dm0vdW1hLmg+CkBAIC02NSw2ICs2Niw4IEBAIE1BTExPQ19ERUNMQVJFKE1fTkVXTkZTUkVRKTsK IAogdW1hX3pvbmVfdCBuZXduZnNub2RlX3pvbmU7CiAKK3N0YXRpYyB2b2lkCW5mc19mcmVlc2ls bHlyZW5hbWUodm9pZCAqYXJnLCBfX3VudXNlZCBpbnQgcGVuZGluZyk7CisKIHZvaWQKIG5jbF9u aGluaXQodm9pZCkKIHsKQEAgLTE4Niw2ICsxODksMjAgQEAgbmNsX25nZXQoc3RydWN0IG1vdW50 ICptbnRwLCB1X2ludDhfdCAqZgogCXJldHVybiAoMCk7CiB9CiAKKy8qCisgKiBEbyB0aGUgdnJl bGUoc3AtPnNfZHZwKSBhcyBhIHNlcGFyYXRlIHRhc2sgaW4gb3JkZXIgdG8gYXZvaWQgYQorICog ZGVhZGxvY2sgYmVjYXVzZSBvZiBhIExPUiB3aGVuIHZyZWxlKCkgbG9ja3MgdGhlIGRpcmVjdG9y eSB2bm9kZS4KKyAqLworc3RhdGljIHZvaWQKK25mc19mcmVlc2lsbHlyZW5hbWUodm9pZCAqYXJn LCBfX3VudXNlZCBpbnQgcGVuZGluZykKK3sKKwlzdHJ1Y3Qgc2lsbHlyZW5hbWUgKnNwOworCisJ c3AgPSBhcmc7CisJdnJlbGUoc3AtPnNfZHZwKTsKKwlmcmVlKHNwLCBNX05FV05GU1JFUSk7Cit9 CisKIGludAogbmNsX2luYWN0aXZlKHN0cnVjdCB2b3BfaW5hY3RpdmVfYXJncyAqYXApCiB7CkBA IC0yMjAsOCArMjM3LDggQEAgbmNsX2luYWN0aXZlKHN0cnVjdCB2b3BfaW5hY3RpdmVfYXJncyAq YQogCQkgKi8KIAkJbmNsX3JlbW92ZWl0KHNwLCB2cCk7CiAJCWNyZnJlZShzcC0+c19jcmVkKTsK LQkJdnJlbGUoc3AtPnNfZHZwKTsKLQkJRlJFRSgoY2FkZHJfdClzcCwgTV9ORVdORlNSRVEpOwor CQlUQVNLX0lOSVQoJnNwLT5zX3Rhc2ssIDAsIG5mc19mcmVlc2lsbHlyZW5hbWUsIHNwKTsKKwkJ dGFza3F1ZXVlX2VucXVldWUodGFza3F1ZXVlX3RocmVhZCwgJnNwLT5zX3Rhc2spOwogCQltdHhf bG9jaygmbnAtPm5fbXR4KTsKIAl9CiAJbnAtPm5fZmxhZyAmPSBOTU9ESUZJRUQ7Cg== ------=_Part_909765_1893841085.1311369086132--