kern/92785: Using exported filesystem on OS/2 NFS client causes filesystem freeze

Ulrich Spoerlein uspoerlein at gmail.com
Wed Dec 27 08:20:20 PST 2006


The following reply was made to PR kern/92785; it has been noted by GNATS.

From: "Ulrich Spoerlein" <uspoerlein at gmail.com>
To: "Konstantin Belousov" <kostikbel at gmail.com>
Cc: bug-followup at freebsd.org, "Bruce Evans" <bde at zeta.org.au>
Subject: Re: kern/92785: Using exported filesystem on OS/2 NFS client causes filesystem freeze
Date: Wed, 27 Dec 2006 17:05:00 +0100

 ------=_Part_125620_18226065.1167235500867
 Content-Type: text/plain; charset=ISO-8859-1; format=flowed
 Content-Transfer-Encoding: 7bit
 Content-Disposition: inline
 
 On 12/27/06, Konstantin Belousov <kostikbel at gmail.com> wrote:
 > Index: fs/udf/udf_vnops.c
 > ===================================================================
 > RCS file: /usr/local/arch/ncvs/src/sys/fs/udf/udf_vnops.c,v
 > retrieving revision 1.61
 > diff -u -r1.61 udf_vnops.c
 > --- fs/udf/udf_vnops.c  3 Feb 2006 15:25:52 -0000       1.61
 > +++ fs/udf/udf_vnops.c  27 Dec 2006 15:24:10 -0000
 > @@ -915,7 +915,7 @@
 >                 if (flags & ISDOTDOT)
 >                         VOP_UNLOCK(dvp, 0, a->a_cnp->cn_thread);
 >                 error = udf_vget(udfmp->im_mountp, id, LK_EXCLUSIVE, &tdp);
 > -               if (flags & ISDOTDOT)
 > +               if ((flags & ISDOTDOT) && dvp != tdp )
 >                         vn_lock(dvp, LK_EXCLUSIVE|LK_RETRY, a->a_cnp->cn_thread);
 >                 if (!error) {
 >                         /*
 
 I do NOT have a UDF-Image and can thus not test this change. If some
 kind soul could give me a link to an UDF image < 300MB, that would be
 great.
 
 In addition to ufs, msdosfs and cd9660, I also had to patch ext2fs in
 the same way. NB: Even though reiserfs has a similar code flow, I was
 not able to make a reiserfs exported filesystem hang or crash the
 machine. Odd.
 
 Attached is the cumulative diff of the kernel I tested this with.
 Tested filesystems needing patch: ufs, msdosfs, cd9660, ext2fs
 Tested filesystems sans patch: reiserfs
 Untested filesystems: udf, ntfs, smbfs, nwfs, (zfs?)
 
 All the testing was sponsored by: 1822direkt GmbH
 Thanks for your support.
 
 Uli
 
 ------=_Part_125620_18226065.1167235500867
 Content-Type: text/x-patch; name=lookup.diff; charset=ANSI_X3.4-1968
 Content-Transfer-Encoding: base64
 X-Attachment-Id: f_ew7xu9sx
 Content-Disposition: attachment; filename="lookup.diff"
 
 SW5kZXg6IGZzL21zZG9zZnMvbXNkb3Nmc19sb29rdXAuYwo9PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAv
 YnVpbGQvbmN2cy9zcmMvc3lzL2ZzL21zZG9zZnMvbXNkb3Nmc19sb29rdXAuYyx2CnJldHJpZXZp
 bmcgcmV2aXNpb24gMS40NgpkaWZmIC11IC1yMS40NiBtc2Rvc2ZzX2xvb2t1cC5jCi0tLSBmcy9t
 c2Rvc2ZzL21zZG9zZnNfbG9va3VwLmMJMTYgQXByIDIwMDUgMjM6NDc6MTkgLTAwMDAJMS40Ngor
 KysgZnMvbXNkb3Nmcy9tc2Rvc2ZzX2xvb2t1cC5jCTI3IERlYyAyMDA2IDEzOjA2OjA2IC0wMDAw
 CkBAIC01MjAsMTYgKzUyMCwxNiBAQAogCSAqIHRoYXQgcG9pbnQgYmFja3dhcmRzIGluIHRoZSBk
 aXJlY3Rvcnkgc3RydWN0dXJlLgogCSAqLwogCXBkcCA9IHZkcDsKLQlpZiAoZmxhZ3MgJiBJU0RP
 VERPVCkgeworCWlmIChkcC0+ZGVfU3RhcnRDbHVzdGVyID09IHNjbiAmJiBpc2FkaXIpIHsKKwkJ
 VlJFRih2ZHApOwkvKiB3ZSB3YW50IG91cnNlbGYsIGllICIuIiAqLworCQkqdnBwID0gdmRwOwor
 CX0gZWxzZSBpZiAoZmxhZ3MgJiBJU0RPVERPVCkgewogCQlWT1BfVU5MT0NLKHBkcCwgMCwgdGQp
 OwogCQllcnJvciA9IGRlZ2V0KHBtcCwgY2x1c3RlciwgYmxrb2ZmLCAgJnRkcCk7CiAJCXZuX2xv
 Y2socGRwLCBMS19FWENMVVNJVkUgfCBMS19SRVRSWSwgdGQpOyAKIAkJaWYgKGVycm9yKQogCQkJ
 cmV0dXJuIChlcnJvcik7CiAJCSp2cHAgPSBERVRPVih0ZHApOwotCX0gZWxzZSBpZiAoZHAtPmRl
 X1N0YXJ0Q2x1c3RlciA9PSBzY24gJiYgaXNhZGlyKSB7Ci0JCVZSRUYodmRwKTsJLyogd2Ugd2Fu
 dCBvdXJzZWxmLCBpZSAiLiIgKi8KLQkJKnZwcCA9IHZkcDsKIAl9IGVsc2UgewogCQlpZiAoKGVy
 cm9yID0gZGVnZXQocG1wLCBjbHVzdGVyLCBibGtvZmYsICZ0ZHApKSAhPSAwKQogCQkJcmV0dXJu
 IChlcnJvcik7CkluZGV4OiBnbnUvZnMvZXh0MmZzL2V4dDJfbG9va3VwLmMKPT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpS
 Q1MgZmlsZTogL2J1aWxkL25jdnMvc3JjL3N5cy9nbnUvZnMvZXh0MmZzL2V4dDJfbG9va3VwLmMs
 dgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuNTAuMi4xCmRpZmYgLXUgLXIxLjUwLjIuMSBleHQyX2xv
 b2t1cC5jCi0tLSBnbnUvZnMvZXh0MmZzL2V4dDJfbG9va3VwLmMJNCBKYW4gMjAwNiAxOTozMjow
 MCAtMDAwMAkxLjUwLjIuMQorKysgZ251L2ZzL2V4dDJmcy9leHQyX2xvb2t1cC5jCTI3IERlYyAy
 MDA2IDE1OjI2OjAxIC0wMDAwCkBAIC02NTUsNyArNjU1LDEwIEBACiAJICogdGhhdCBwb2ludCBi
 YWNrd2FyZHMgaW4gdGhlIGRpcmVjdG9yeSBzdHJ1Y3R1cmUuCiAJICovCiAJcGRwID0gdmRwOwot
 CWlmIChmbGFncyAmIElTRE9URE9UKSB7CisJaWYgKGRwLT5pX251bWJlciA9PSBkcC0+aV9pbm8p
 IHsKKwkJVlJFRih2ZHApOwkvKiB3ZSB3YW50IG91cnNlbGYsIGllICIuIiAqLworCQkqdnBwID0g
 dmRwOworCX0gZWxzZSBpZiAoZmxhZ3MgJiBJU0RPVERPVCkgewogCQlzYXZlZF9pbm8gPSBkcC0+
 aV9pbm87CiAJCVZPUF9VTkxPQ0socGRwLCAwLCB0ZCk7CS8qIHJhY2UgdG8gZ2V0IHRoZSBpbm9k
 ZSAqLwogCQllcnJvciA9IFZGU19WR0VUKHZkcC0+dl9tb3VudCwgc2F2ZWRfaW5vLCBMS19FWENM
 VVNJVkUsICZ0ZHApOwpAQCAtNjYzLDkgKzY2Niw2IEBACiAJCWlmIChlcnJvciAhPSAwKQogCQkJ
 cmV0dXJuIChlcnJvcik7CiAJCSp2cHAgPSB0ZHA7Ci0JfSBlbHNlIGlmIChkcC0+aV9udW1iZXIg
 PT0gZHAtPmlfaW5vKSB7Ci0JCVZSRUYodmRwKTsJLyogd2Ugd2FudCBvdXJzZWxmLCBpZSAiLiIg
 Ki8KLQkJKnZwcCA9IHZkcDsKIAl9IGVsc2UgewogCQlpZiAoKGVycm9yID0gVkZTX1ZHRVQodmRw
 LT52X21vdW50LCBkcC0+aV9pbm8sIExLX0VYQ0xVU0lWRSwKIAkJICAgICZ0ZHApKSAhPSAwKQpJ
 bmRleDogaXNvZnMvY2Q5NjYwL2NkOTY2MF9sb29rdXAuYwo9PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAv
 YnVpbGQvbmN2cy9zcmMvc3lzL2lzb2ZzL2NkOTY2MC9jZDk2NjBfbG9va3VwLmMsdgpyZXRyaWV2
 aW5nIHJldmlzaW9uIDEuNDEuMi4xCmRpZmYgLXUgLXIxLjQxLjIuMSBjZDk2NjBfbG9va3VwLmMK
 LS0tIGlzb2ZzL2NkOTY2MC9jZDk2NjBfbG9va3VwLmMJNCBKYW4gMjAwNiAxOTozNToyNCAtMDAw
 MAkxLjQxLjIuMQorKysgaXNvZnMvY2Q5NjYwL2NkOTY2MF9sb29rdXAuYwkyNyBEZWMgMjAwNiAx
 MzozMToyNiAtMDAwMApAQCAtMzQ3LDcgKzM0NywxMSBAQAogCSAqIElmIGlubyBpcyBkaWZmZXJl
 bnQgZnJvbSBkcC0+aV9pbm8sCiAJICogaXQncyBhIHJlbG9jYXRlZCBkaXJlY3RvcnkuCiAJICov
 Ci0JaWYgKGZsYWdzICYgSVNET1RET1QpIHsKKwlpZiAoZHAtPmlfbnVtYmVyID09IGRwLT5pX2lu
 bykgeworCQlicmVsc2UoYnApOworCQlWUkVGKHZkcCk7CS8qIHdlIHdhbnQgb3Vyc2VsZiwgaWUg
 Ii4iICovCisJCSp2cHAgPSB2ZHA7CisJfSBlbHNlIGlmIChmbGFncyAmIElTRE9URE9UKSB7CiAJ
 CXNhdmVkX2lubyA9IGRwLT5pX2lubzsKIAkJVk9QX1VOTE9DSyhwZHAsIDAsIHRkKTsJLyogcmFj
 ZSB0byBnZXQgdGhlIGlub2RlICovCiAJCWVycm9yID0gY2Q5NjYwX3ZnZXRfaW50ZXJuYWwodmRw
 LT52X21vdW50LCBzYXZlZF9pbm8sCkBAIC0zNTgsMTAgKzM2Miw2IEBACiAJCWlmIChlcnJvcikK
 IAkJCXJldHVybiAoZXJyb3IpOwogCQkqdnBwID0gdGRwOwotCX0gZWxzZSBpZiAoZHAtPmlfbnVt
 YmVyID09IGRwLT5pX2lubykgewotCQlicmVsc2UoYnApOwotCQlWUkVGKHZkcCk7CS8qIHdlIHdh
 bnQgb3Vyc2VsZiwgaWUgIi4iICovCi0JCSp2cHAgPSB2ZHA7CiAJfSBlbHNlIHsKIAkJZXJyb3Ig
 PSBjZDk2NjBfdmdldF9pbnRlcm5hbCh2ZHAtPnZfbW91bnQsIGRwLT5pX2lubywKIAkJCQkJICAg
 ICBMS19FWENMVVNJVkUsICZ0ZHAsCkluZGV4OiB1ZnMvdWZzL3Vmc19sb29rdXAuYwo9PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09ClJDUyBmaWxlOiAvYnVpbGQvbmN2cy9zcmMvc3lzL3Vmcy91ZnMvdWZzX2xvb2t1cC5jLHYK
 cmV0cmlldmluZyByZXZpc2lvbiAxLjc3LjIuMwpkaWZmIC11IC1yMS43Ny4yLjMgdWZzX2xvb2t1
 cC5jCi0tLSB1ZnMvdWZzL3Vmc19sb29rdXAuYwk1IFNlcCAyMDA2IDEzOjIwOjQxIC0wMDAwCTEu
 NzcuMi4zCisrKyB1ZnMvdWZzL3Vmc19sb29rdXAuYwkyNyBEZWMgMjAwNiAxMjo1MTozMiAtMDAw
 MApAQCAtNTU2LDcgKzU1NiwxMCBAQAogCSAqIHRoYXQgcG9pbnQgYmFja3dhcmRzIGluIHRoZSBk
 aXJlY3Rvcnkgc3RydWN0dXJlLgogCSAqLwogCXBkcCA9IHZkcDsKLQlpZiAoZmxhZ3MgJiBJU0RP
 VERPVCkgeworCWlmIChkcC0+aV9udW1iZXIgPT0gZHAtPmlfaW5vKSB7CisJCVZSRUYodmRwKTsJ
 Lyogd2Ugd2FudCBvdXJzZWxmLCBpZSAiLiIgKi8KKwkJKnZwcCA9IHZkcDsKKwl9IGVsc2UgaWYg
 KGZsYWdzICYgSVNET1RET1QpIHsKIAkJc2F2ZWRfaW5vID0gZHAtPmlfaW5vOwogCQlWT1BfVU5M
 T0NLKHBkcCwgMCwgdGQpOwkvKiByYWNlIHRvIGdldCB0aGUgaW5vZGUgKi8KIAkJZXJyb3IgPSBW
 RlNfVkdFVChwZHAtPnZfbW91bnQsIHNhdmVkX2lubywKQEAgLTU2NSw5ICs1NjgsNiBAQAogCQlp
 ZiAoZXJyb3IpCiAJCQlyZXR1cm4gKGVycm9yKTsKIAkJKnZwcCA9IHRkcDsKLQl9IGVsc2UgaWYg
 KGRwLT5pX251bWJlciA9PSBkcC0+aV9pbm8pIHsKLQkJVlJFRih2ZHApOwkvKiB3ZSB3YW50IG91
 cnNlbGYsIGllICIuIiAqLwotCQkqdnBwID0gdmRwOwogCX0gZWxzZSB7CiAJCWVycm9yID0gVkZT
 X1ZHRVQocGRwLT52X21vdW50LCBkcC0+aV9pbm8sCiAJCSAgICBjbnAtPmNuX2xrZmxhZ3MsICZ0
 ZHApOwo=
 ------=_Part_125620_18226065.1167235500867--


More information about the freebsd-bugs mailing list