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