From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Steve French" Subject: dfs path construction fix - send dfs paths on all path based operations on share in dfs Date: Tue, 13 May 2008 17:45:48 -0500 Message-ID: <524f69650805131545id9be81et97549c74ecd0e7c8@mail.gmail.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_8592_22221847.1210718749021" To: "Q (Igor Mammedov)" , "Igor Mammedov" , "Jeremy Allison" , "Jeff Layton" , linux-cifs-client@lists.sa Return-path: Received: from fk-out-0910.google.com ([209.85.128.189]:39761 "EHLO fk-out-0910.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753296AbYEMWpv (ORCPT ); Tue, 13 May 2008 18:45:51 -0400 Received: by fk-out-0910.google.com with SMTP id 18so2485836fkq.5 for ; Tue, 13 May 2008 15:45:49 -0700 (PDT) Sender: linux-fsdevel-owner@vger.kernel.org List-ID: ------=_Part_8592_22221847.1210718749021 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline Samba was not handling paths without the \\server\share prefix (which our current code sends on QueryPathInfo) when "SHARE_IN_DFS" on operations such as rmdir and delete. This patch fixes that: -- Thanks, Steve ------=_Part_8592_22221847.1210718749021 Content-Type: text/x-diff; name=fix-path-requests-when-share-in-dfs.patch Content-Transfer-Encoding: base64 X-Attachment-Id: f_fg72o3os0 Content-Disposition: attachment; filename=fix-path-requests-when-share-in-dfs.patch ZGlmZiAtLWdpdCBhL2ZzL2NpZnMvZGlyLmMgYi9mcy9jaWZzL2Rpci5jCmluZGV4IGU0ZTAwNzgu LjA1YWZlMzMgMTAwNjQ0Ci0tLSBhL2ZzL2NpZnMvZGlyLmMKKysrIGIvZnMvY2lmcy9kaXIuYwpA QCAtNDksMTggKzQ5LDI1IEBAIGJ1aWxkX3BhdGhfZnJvbV9kZW50cnkoc3RydWN0IGRlbnRyeSAq ZGlyZW50cnkpCiAJc3RydWN0IGRlbnRyeSAqdGVtcDsKIAlpbnQgbmFtZWxlbjsKIAlpbnQgcHBs ZW47CisJaW50IGRmc3BsZW47CiAJY2hhciAqZnVsbF9wYXRoOwogCWNoYXIgZGlyc2VwOworCXN0 cnVjdCBjaWZzX3NiX2luZm8gKmNpZnNfc2I7CiAKIAlpZiAoZGlyZW50cnkgPT0gTlVMTCkKIAkJ cmV0dXJuIE5VTEw7ICAvKiBub3QgbXVjaCB3ZSBjYW4gZG8gaWYgZGVudHJ5IGlzIGZyZWVkIGFu ZAogCQl3ZSBuZWVkIHRvIHJlb3BlbiB0aGUgZmlsZSBhZnRlciBpdCB3YXMgY2xvc2VkIGltcGxp Y2l0bHkKIAkJd2hlbiB0aGUgc2VydmVyIGNyYXNoZWQgKi8KIAotCWRpcnNlcCA9IENJRlNfRElS X1NFUChDSUZTX1NCKGRpcmVudHJ5LT5kX3NiKSk7Ci0JcHBsZW4gPSBDSUZTX1NCKGRpcmVudHJ5 LT5kX3NiKS0+cHJlcGF0aGxlbjsKKwljaWZzX3NiID0gQ0lGU19TQihkaXJlbnRyeS0+ZF9zYik7 CisJZGlyc2VwID0gQ0lGU19ESVJfU0VQKGNpZnNfc2IpOworCXBwbGVuID0gY2lmc19zYi0+cHJl cGF0aGxlbjsKKwlpZiAoY2lmc19zYi0+dGNvbiAmJiAoY2lmc19zYi0+dGNvbi0+RmxhZ3MgJiBT TUJfU0hBUkVfSVNfSU5fREZTKSkKKwkJZGZzcGxlbiA9IHN0cm5sZW4oY2lmc19zYi0+dGNvbi0+ dHJlZU5hbWUsIE1BWF9UUkVFX1NJWkUgKyAxKTsKKwllbHNlCisJCWRmc3BsZW4gPSAwOwogY2lm c19icF9yZW5hbWVfcmV0cnk6Ci0JbmFtZWxlbiA9IHBwbGVuOworCW5hbWVsZW4gPSBwcGxlbiAr IGRmc3BsZW47CiAJZm9yICh0ZW1wID0gZGlyZW50cnk7ICFJU19ST09UKHRlbXApOykgewogCQlu YW1lbGVuICs9ICgxICsgdGVtcC0+ZF9uYW1lLmxlbik7CiAJCXRlbXAgPSB0ZW1wLT5kX3BhcmVu dDsKQEAgLTkxLDcgKzk4LDcgQEAgY2lmc19icF9yZW5hbWVfcmV0cnk6CiAJCQlyZXR1cm4gTlVM TDsKIAkJfQogCX0KLQlpZiAobmFtZWxlbiAhPSBwcGxlbikgeworCWlmIChuYW1lbGVuICE9IHBw bGVuICsgZGZzcGxlbikgewogCQljRVJST1IoMSwKIAkJICAgICAgICgiZGlkIG5vdCBlbmQgcGF0 aCBsb29rdXAgd2hlcmUgZXhwZWN0ZWQgbmFtZWxlbiBpcyAlZCIsCiAJCQluYW1lbGVuKSk7CkBA IC0xMDcsNyArMTE0LDE4IEBAIGNpZnNfYnBfcmVuYW1lX3JldHJ5OgogCSAgIHNpbmNlIHRoZSAn XCcgaXMgYSB2YWxpZCBwb3NpeCBjaGFyYWN0ZXIgc28gd2UgY2FuIG5vdCBzd2l0Y2gKIAkgICB0 aG9zZSBzYWZlbHkgdG8gJy8nIGlmIGFueSBhcmUgZm91bmQgaW4gdGhlIG1pZGRsZSBvZiB0aGUg cHJlcGF0aCAqLwogCS8qIEJCIHRlc3QgcGF0aHMgdG8gV2luZG93cyB3aXRoICcvJyBpbiB0aGUg bWlkc3Qgb2YgcHJlcGF0aCAqLwotCXN0cm5jcHkoZnVsbF9wYXRoLCBDSUZTX1NCKGRpcmVudHJ5 LT5kX3NiKS0+cHJlcGF0aCwgcHBsZW4pOworCisJaWYgKGRmc3BsZW4pIHsKKwkJc3RybmNweShm dWxsX3BhdGgsIGNpZnNfc2ItPnRjb24tPnRyZWVOYW1lLCBkZnNwbGVuKTsKKwkJaWYgKGNpZnNf c2ItPm1udF9jaWZzX2ZsYWdzICYgQ0lGU19NT1VOVF9QT1NJWF9QQVRIUykgeworCQkJaW50IGk7 CisJCQlmb3IgKGkgPSAwOyBpIDwgZGZzcGxlbjsgaSsrKSB7CisJCQkJaWYgKGZ1bGxfcGF0aFtp XSA9PSAnXFwnKQorCQkJCQlmdWxsX3BhdGhbaV0gPSAnLyc7CisJCQl9CisJCX0KKwl9CisJc3Ry bmNweShmdWxsX3BhdGggKyBkZnNwbGVuLCBDSUZTX1NCKGRpcmVudHJ5LT5kX3NiKS0+cHJlcGF0 aCwgcHBsZW4pOwogCXJldHVybiBmdWxsX3BhdGg7CiB9CiAKZGlmZiAtLWdpdCBhL2ZzL2NpZnMv aW5vZGUuYyBiL2ZzL2NpZnMvaW5vZGUuYwppbmRleCBmY2JkYmI2Li5iODY3NjA2IDEwMDY0NAot LS0gYS9mcy9jaWZzL2lub2RlLmMKKysrIGIvZnMvY2lmcy9pbm9kZS5jCkBAIC0xNjEsNTIgKzE2 MSwxOCBAQCBzdGF0aWMgdm9pZCBjaWZzX3VuaXhfaW5mb190b19pbm9kZShzdHJ1Y3QgaW5vZGUg Kmlub2RlLAogCXNwaW5fdW5sb2NrKCZpbm9kZS0+aV9sb2NrKTsKIH0KIAotc3RhdGljIGNvbnN0 IHVuc2lnbmVkIGNoYXIgKmNpZnNfZ2V0X3NlYXJjaF9wYXRoKHN0cnVjdCBjaWZzX3NiX2luZm8g KmNpZnNfc2IsCi0JCQkJCQljb25zdCBjaGFyICpzZWFyY2hfcGF0aCkKLXsKLQlpbnQgdHJlZV9s ZW47Ci0JaW50IHBhdGhfbGVuOwotCWludCBpOwotCWNoYXIgKnRtcF9wYXRoOwotCXN0cnVjdCBj aWZzVGNvbkluZm8gKnBUY29uID0gY2lmc19zYi0+dGNvbjsKLQotCWlmICghKHBUY29uLT5GbGFn cyAmIFNNQl9TSEFSRV9JU19JTl9ERlMpKQotCQlyZXR1cm4gc2VhcmNoX3BhdGg7Ci0KLQkvKiB1 c2UgZnVsbCBwYXRoIG5hbWUgZm9yIHdvcmtpbmcgd2l0aCBERlMgKi8KLQl0cmVlX2xlbiA9IHN0 cm5sZW4ocFRjb24tPnRyZWVOYW1lLCBNQVhfVFJFRV9TSVpFICsgMSk7Ci0JcGF0aF9sZW4gPSBz dHJubGVuKHNlYXJjaF9wYXRoLCBNQVhfUEFUSENPTkYpOwotCi0JdG1wX3BhdGggPSBrbWFsbG9j KHRyZWVfbGVuK3BhdGhfbGVuKzEsIEdGUF9LRVJORUwpOwotCWlmICh0bXBfcGF0aCA9PSBOVUxM KQotCQlyZXR1cm4gc2VhcmNoX3BhdGg7Ci0KLQlzdHJuY3B5KHRtcF9wYXRoLCBwVGNvbi0+dHJl ZU5hbWUsIHRyZWVfbGVuKTsKLQlpZiAoY2lmc19zYi0+bW50X2NpZnNfZmxhZ3MgJiBDSUZTX01P VU5UX1BPU0lYX1BBVEhTKQotCQlmb3IgKGkgPSAwOyBpIDwgdHJlZV9sZW47IGkrKykgewotCQkJ aWYgKHRtcF9wYXRoW2ldID09ICdcXCcpCi0JCQkJdG1wX3BhdGhbaV0gPSAnLyc7Ci0JCX0KLQlz dHJuY3B5KHRtcF9wYXRoK3RyZWVfbGVuLCBzZWFyY2hfcGF0aCwgcGF0aF9sZW4pOwotCXRtcF9w YXRoW3RyZWVfbGVuK3BhdGhfbGVuXSA9IDA7Ci0JcmV0dXJuIHRtcF9wYXRoOwotfQotCiBpbnQg Y2lmc19nZXRfaW5vZGVfaW5mb191bml4KHN0cnVjdCBpbm9kZSAqKnBpbm9kZSwKLQljb25zdCB1 bnNpZ25lZCBjaGFyICpzZWFyY2hfcGF0aCwgc3RydWN0IHN1cGVyX2Jsb2NrICpzYiwgaW50IHhp ZCkKKwljb25zdCB1bnNpZ25lZCBjaGFyICpmdWxsX3BhdGgsIHN0cnVjdCBzdXBlcl9ibG9jayAq c2IsIGludCB4aWQpCiB7CiAJaW50IHJjID0gMDsKIAlGSUxFX1VOSVhfQkFTSUNfSU5GTyBmaW5k RGF0YTsKIAlzdHJ1Y3QgY2lmc1Rjb25JbmZvICpwVGNvbjsKIAlzdHJ1Y3QgaW5vZGUgKmlub2Rl OwogCXN0cnVjdCBjaWZzX3NiX2luZm8gKmNpZnNfc2IgPSBDSUZTX1NCKHNiKTsKLQljb25zdCB1 bnNpZ25lZCBjaGFyICpmdWxsX3BhdGg7CiAJYm9vbCBpc19kZnNfcmVmZXJyYWwgPSBmYWxzZTsK IAogCXBUY29uID0gY2lmc19zYi0+dGNvbjsKLQljRllJKDEsICgiR2V0dGluZyBpbmZvIG9uICVz Iiwgc2VhcmNoX3BhdGgpKTsKLQotCWZ1bGxfcGF0aCA9IGNpZnNfZ2V0X3NlYXJjaF9wYXRoKGNp ZnNfc2IsIHNlYXJjaF9wYXRoKTsKKwljRllJKDEsICgiR2V0dGluZyBpbmZvIG9uICVzIiwgZnVs bF9wYXRoKSk7CiAKIHRyeV9hZ2Fpbl9DSUZTU01CVW5peFFQYXRoSW5mbzoKIAkvKiBjb3VsZCBo YXZlIGRvbmUgYSBmaW5kIGZpcnN0IGluc3RlYWQgYnV0IHRoaXMgcmV0dXJucyBtb3JlIGluZm8g Ki8KQEAgLTIxOCwxMCArMTg0LDYgQEAgdHJ5X2FnYWluX0NJRlNTTUJVbml4UVBhdGhJbmZvOgog CWlmIChyYykgewogCQlpZiAocmMgPT0gLUVSRU1PVEUgJiYgIWlzX2Rmc19yZWZlcnJhbCkgewog CQkJaXNfZGZzX3JlZmVycmFsID0gdHJ1ZTsKLQkJCWlmIChmdWxsX3BhdGggIT0gc2VhcmNoX3Bh dGgpIHsKLQkJCQlrZnJlZShmdWxsX3BhdGgpOwotCQkJCWZ1bGxfcGF0aCA9IHNlYXJjaF9wYXRo OwotCQkJfQogCQkJZ290byB0cnlfYWdhaW5fQ0lGU1NNQlVuaXhRUGF0aEluZm87CiAJCX0KIAkJ Z290byBjZ2lpdV9leGl0OwpAQCAtMjcxLDggKzIzMyw2IEBAIHRyeV9hZ2Fpbl9DSUZTU01CVW5p eFFQYXRoSW5mbzoKIAkJY2lmc19zZXRfb3BzKGlub2RlLCBpc19kZnNfcmVmZXJyYWwpOwogCX0K IGNnaWl1X2V4aXQ6Ci0JaWYgKGZ1bGxfcGF0aCAhPSBzZWFyY2hfcGF0aCkKLQkJa2ZyZWUoZnVs bF9wYXRoKTsKIAlyZXR1cm4gcmM7CiB9CiAKQEAgLTM4MCwyMCArMzQwLDE5IEBAIHN0YXRpYyBp bnQgZ2V0X3NmdV9tb2RlKHN0cnVjdCBpbm9kZSAqaW5vZGUsCiB9CiAKIGludCBjaWZzX2dldF9p bm9kZV9pbmZvKHN0cnVjdCBpbm9kZSAqKnBpbm9kZSwKLQljb25zdCB1bnNpZ25lZCBjaGFyICpz ZWFyY2hfcGF0aCwgRklMRV9BTExfSU5GTyAqcGZpbmREYXRhLAorCWNvbnN0IHVuc2lnbmVkIGNo YXIgKmZ1bGxfcGF0aCwgRklMRV9BTExfSU5GTyAqcGZpbmREYXRhLAogCXN0cnVjdCBzdXBlcl9i bG9jayAqc2IsIGludCB4aWQsIGNvbnN0IF9fdTE2ICpwZmlkKQogewogCWludCByYyA9IDA7CiAJ c3RydWN0IGNpZnNUY29uSW5mbyAqcFRjb247CiAJc3RydWN0IGlub2RlICppbm9kZTsKIAlzdHJ1 Y3QgY2lmc19zYl9pbmZvICpjaWZzX3NiID0gQ0lGU19TQihzYik7Ci0JY29uc3QgdW5zaWduZWQg Y2hhciAqZnVsbF9wYXRoID0gTlVMTDsKIAljaGFyICpidWYgPSBOVUxMOwogCWJvb2wgYWRqdXN0 VFogPSBmYWxzZTsKIAlib29sIGlzX2Rmc19yZWZlcnJhbCA9IGZhbHNlOwogCiAJcFRjb24gPSBj aWZzX3NiLT50Y29uOwotCWNGWUkoMSwgKCJHZXR0aW5nIGluZm8gb24gJXMiLCBzZWFyY2hfcGF0 aCkpOworCWNGWUkoMSwgKCJHZXR0aW5nIGluZm8gb24gJXMiLCBmdWxsX3BhdGgpKTsKIAogCWlm ICgocGZpbmREYXRhID09IE5VTEwpICYmICgqcGlub2RlICE9IE5VTEwpKSB7CiAJCWlmIChDSUZT X0koKnBpbm9kZSktPmNsaWVudENhbkNhY2hlUmVhZCkgewpAQCAtNDA5LDggKzM2OCw2IEBAIGlu dCBjaWZzX2dldF9pbm9kZV9pbmZvKHN0cnVjdCBpbm9kZSAqKnBpbm9kZSwKIAkJCXJldHVybiAt RU5PTUVNOwogCQlwZmluZERhdGEgPSAoRklMRV9BTExfSU5GTyAqKWJ1ZjsKIAotCQlmdWxsX3Bh dGggPSBjaWZzX2dldF9zZWFyY2hfcGF0aChjaWZzX3NiLCBzZWFyY2hfcGF0aCk7Ci0KIHRyeV9h Z2Fpbl9DSUZTU01CUVBhdGhJbmZvOgogCQkvKiBjb3VsZCBkbyBmaW5kIGZpcnN0IGluc3RlYWQg YnV0IHRoaXMgcmV0dXJucyBtb3JlIGluZm8gKi8KIAkJcmMgPSBDSUZTU01CUVBhdGhJbmZvKHhp ZCwgcFRjb24sIGZ1bGxfcGF0aCwgcGZpbmREYXRhLApAQCAtNDMyLDEwICszODksNiBAQCB0cnlf YWdhaW5fQ0lGU1NNQlFQYXRoSW5mbzoKIAlpZiAocmMpIHsKIAkJaWYgKHJjID09IC1FUkVNT1RF ICYmICFpc19kZnNfcmVmZXJyYWwpIHsKIAkJCWlzX2Rmc19yZWZlcnJhbCA9IHRydWU7Ci0JCQlp ZiAoZnVsbF9wYXRoICE9IHNlYXJjaF9wYXRoKSB7Ci0JCQkJa2ZyZWUoZnVsbF9wYXRoKTsKLQkJ CQlmdWxsX3BhdGggPSBzZWFyY2hfcGF0aDsKLQkJCX0KIAkJCWdvdG8gdHJ5X2FnYWluX0NJRlNT TUJRUGF0aEluZm87CiAJCX0KIAkJZ290byBjZ2lpX2V4aXQ7CkBAIC00NzAsNyArNDIzLDcgQEAg dHJ5X2FnYWluX0NJRlNTTUJRUGF0aEluZm86CiAJCQkJX191NjQgaW5vZGVfbnVtOwogCiAJCQkJ cmMxID0gQ0lGU0dldFNydklub2RlTnVtYmVyKHhpZCwgcFRjb24sCi0JCQkJCXNlYXJjaF9wYXRo LCAmaW5vZGVfbnVtLAorCQkJCQlmdWxsX3BhdGgsICZpbm9kZV9udW0sCiAJCQkJCWNpZnNfc2It PmxvY2FsX25scywKIAkJCQkJY2lmc19zYi0+bW50X2NpZnNfZmxhZ3MgJgogCQkJCQkJQ0lGU19N T1VOVF9NQVBfU1BFQ0lBTF9DSFIpOwpAQCAtNTM5LDcgKzQ5Miw3IEBAIHRyeV9hZ2Fpbl9DSUZT U01CUVBhdGhJbmZvOgogCQkJICAgKGNpZnNJbmZvLT5jaWZzQXR0cnMgJiBBVFRSX1NZU1RFTSkp IHsKIAkJCWlmIChkZWNvZGVfc2Z1X2lub2RlKGlub2RlLAogCQkJCQkgbGU2NF90b19jcHUocGZp bmREYXRhLT5FbmRPZkZpbGUpLAotCQkJCQkgc2VhcmNoX3BhdGgsCisJCQkJCSBmdWxsX3BhdGgs CiAJCQkJCSBjaWZzX3NiLCB4aWQpKQogCQkJCWNGWUkoMSwgKCJVbnJlY29nbml6ZWQgc2Z1IGlu b2RlIHR5cGUiKSk7CiAKQEAgLTU4MiwxMiArNTM1LDEyIEBAIHRyeV9hZ2Fpbl9DSUZTU01CUVBh dGhJbmZvOgogCQkvKiBmaWxsIGluIDA3NzcgYml0cyBmcm9tIEFDTCAqLwogCQlpZiAoY2lmc19z Yi0+bW50X2NpZnNfZmxhZ3MgJiBDSUZTX01PVU5UX0NJRlNfQUNMKSB7CiAJCQljRllJKDEsICgi R2V0dGluZyBtb2RlIGJpdHMgZnJvbSBBQ0wiKSk7Ci0JCQlhY2xfdG9fdWlkX21vZGUoaW5vZGUs IHNlYXJjaF9wYXRoLCBwZmlkKTsKKwkJCWFjbF90b191aWRfbW9kZShpbm9kZSwgZnVsbF9wYXRo LCBwZmlkKTsKIAkJfQogI2VuZGlmCiAJCWlmIChjaWZzX3NiLT5tbnRfY2lmc19mbGFncyAmIENJ RlNfTU9VTlRfVU5YX0VNVUwpIHsKIAkJCS8qIGZpbGwgaW4gcmVtYWluaW5nIGhpZ2ggbW9kZSBi aXRzIGUuZy4gU1VJRCwgVlRYICovCi0JCQlnZXRfc2Z1X21vZGUoaW5vZGUsIHNlYXJjaF9wYXRo LCBjaWZzX3NiLCB4aWQpOworCQkJZ2V0X3NmdV9tb2RlKGlub2RlLCBmdWxsX3BhdGgsIGNpZnNf c2IsIHhpZCk7CiAJCX0gZWxzZSBpZiAoYXRvbWljX3JlYWQoJmNpZnNJbmZvLT5pblVzZSkgPT0g MCkgewogCQkJaW5vZGUtPmlfdWlkID0gY2lmc19zYi0+bW50X3VpZDsKIAkJCWlub2RlLT5pX2dp ZCA9IGNpZnNfc2ItPm1udF9naWQ7CkBAIC01OTksOCArNTUyLDYgQEAgdHJ5X2FnYWluX0NJRlNT TUJRUGF0aEluZm86CiAJCWNpZnNfc2V0X29wcyhpbm9kZSwgaXNfZGZzX3JlZmVycmFsKTsKIAl9 CiBjZ2lpX2V4aXQ6Ci0JaWYgKGZ1bGxfcGF0aCAhPSBzZWFyY2hfcGF0aCkKLQkJa2ZyZWUoZnVs bF9wYXRoKTsKIAlrZnJlZShidWYpOwogCXJldHVybiByYzsKIH0K ------=_Part_8592_22221847.1210718749021--