Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 03 Oct 2004 21:42:24 +0200
From:      Uwe Doering <gemini@geminix.org>
To:        David Schultz <das@FreeBSD.ORG>
Cc:        freebsd-current@FreeBSD.ORG
Subject:   Re: Your CVS fix 1.109 to union_vnops.c
Message-ID:  <41605620.90407@geminix.org>
In-Reply-To: <20041003183237.GA8100@VARK.MIT.EDU>
References:  <41601BE0.4050401@geminix.org> <200410031805.i93I5JNZ009076@sana.init-main.com> <20041003183237.GA8100@VARK.MIT.EDU>

next in thread | previous in thread | raw e-mail | index | archive | help
This is a cryptographically signed message in MIME format.

--------------ms030207000702050607060306
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit

David Schultz wrote:
> On Mon, Oct 04, 2004, Takanori Watanabe wrote:
> 
>>>With 'unionfs' you can have underlying files from two different layers 
>>>(upper and lower) on two different file systems which may, by 
>>>coincidence, have the same inode number.  Now, if you override the real 
>>>va_fsid with that of the 'unionfs' mount you'll end up with two 
>>>'unionfs' vnodes that appear to represent the same file (a hard link, 
>>>for instance), but in reality the files are different entities. 
>>>Obviously, both the kernel and applications might draw wrong conclusions 
>>>in this case.
>>
>>I think the three filesystem entry 
>>1. upper layer file
>>2. lower layer file
>>3. unionfs file
>>can be treated as different.
> 
> I didn't pursue this before because I was concerned that it would
> introduce cache consistency issues between the union vnode and the
> underlying vnode.  But I guess all vnops ultimately wind up at the
> underlying vnode, so this hopefully isn't an issue...

Applications use the synthesized unionfs vnodes. They have no knowledge 
of what's going on underneath. So they can't tell whether one unionfs 
vnode refers to a file in the upper layer, and the other to one in the 
lower layer.

In case of a stat(2), for instance, if va_fsid is to be overridden by 
the va_fsid of the unionfs' mount, unionfs would need to generate and 
manage its own (unique) file numbers as well, instead of passing 
va_fileid of the underlying layer unchanged. Otherwise you get the 
ambiguity I pointed out.

    Uwe
-- 
Uwe Doering
gemini@geminix.org

--------------ms030207000702050607060306
Content-Type: application/x-pkcs7-signature; name="smime.p7s"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="smime.p7s"
Content-Description: S/MIME Cryptographic Signature

MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIHrjCC
A9MwggM8oAMCAQICDmNUAAAAAoJXW0abG14gMA0GCSqGSIb3DQEBBAUAMIG8MQswCQYDVQQG
EwJERTEQMA4GA1UECBMHSGFtYnVyZzEQMA4GA1UEBxMHSGFtYnVyZzE6MDgGA1UEChMxVEMg
VHJ1c3RDZW50ZXIgZm9yIFNlY3VyaXR5IGluIERhdGEgTmV0d29ya3MgR21iSDEiMCAGA1UE
CxMZVEMgVHJ1c3RDZW50ZXIgQ2xhc3MgMSBDQTEpMCcGCSqGSIb3DQEJARYaY2VydGlmaWNh
dGVAdHJ1c3RjZW50ZXIuZGUwHhcNMDQwNDI4MTIxODM5WhcNMDUwNDI4MTIxODM5WjBGMQsw
CQYDVQQGEwJERTEUMBIGA1UEAxMLVXdlIERvZXJpbmcxITAfBgkqhkiG9w0BCQEWEmdlbWlu
aUBnZW1pbml4Lm9yZzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL2v0dloMDr/
lryhtRYHqKz9SsOUbXjUx7WVDPOKnDXkkAS8KYmgxvgWyeSoCHLSA8RIzejUwu/djAyI0z4U
jRsZQYC/8qEnoDaZ+mawWNtib3MH+kxgDM1ZQpKuyvXFrob39zr4/CwK8rWPX//dTvrhgba8
svvviFSyC8/dDqMJzdYX78Z2ubrXgMsUbKLV9Ruw38z925nv6/dZx8HdpcdvVpQ2WHyBXlOA
p8XxeB4jqU4Hr+g+fGAf2Un2PCLkAyPS1ZXIMfvJ3O4eyXg7bBVi3TRpdjp4FOw4BvYWfKda
cPC/zS5IIlxR7LItPslm08iOUzb5+r4CcvYI1r1NVQMCAwEAAaOByDCBxTAMBgNVHRMBAf8E
AjAAMA4GA1UdDwEB/wQEAwIF4DAzBglghkgBhvhCAQgEJhYkaHR0cDovL3d3dy50cnVzdGNl
bnRlci5kZS9ndWlkZWxpbmVzMBEGCWCGSAGG+EIBAQQEAwIFoDBdBglghkgBhvhCAQMEUBZO
aHR0cHM6Ly93d3cudHJ1c3RjZW50ZXIuZGUvY2dpLWJpbi9jaGVjay1yZXYuY2dpLzYzNTQw
MDAwMDAwMjgyNTc1QjQ2OUIxQjVFMjA/MA0GCSqGSIb3DQEBBAUAA4GBAEOLk5EYoZXWBr+8
as3IXYuobmSfZOCzKC1fFZd0G+Ok2kB/ctYzWhZQYjrNytjQIICscEKywFKRWEBh9DhbKOgc
XheFRl3qNIeYCcruZjLnKMIcFGFoMs6dlfXnW+kDWIvshzGcFRbXv9Npce9Hn1jPIR7xrua+
ZplRab2xddtDMIID0zCCAzygAwIBAgIOY1QAAAACgldbRpsbXiAwDQYJKoZIhvcNAQEEBQAw
gbwxCzAJBgNVBAYTAkRFMRAwDgYDVQQIEwdIYW1idXJnMRAwDgYDVQQHEwdIYW1idXJnMTow
OAYDVQQKEzFUQyBUcnVzdENlbnRlciBmb3IgU2VjdXJpdHkgaW4gRGF0YSBOZXR3b3JrcyBH
bWJIMSIwIAYDVQQLExlUQyBUcnVzdENlbnRlciBDbGFzcyAxIENBMSkwJwYJKoZIhvcNAQkB
FhpjZXJ0aWZpY2F0ZUB0cnVzdGNlbnRlci5kZTAeFw0wNDA0MjgxMjE4MzlaFw0wNTA0Mjgx
MjE4MzlaMEYxCzAJBgNVBAYTAkRFMRQwEgYDVQQDEwtVd2UgRG9lcmluZzEhMB8GCSqGSIb3
DQEJARYSZ2VtaW5pQGdlbWluaXgub3JnMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAva/R2WgwOv+WvKG1FgeorP1Kw5RteNTHtZUM84qcNeSQBLwpiaDG+BbJ5KgIctIDxEjN
6NTC792MDIjTPhSNGxlBgL/yoSegNpn6ZrBY22Jvcwf6TGAMzVlCkq7K9cWuhvf3Ovj8LAry
tY9f/91O+uGBtryy+++IVLILz90OownN1hfvxna5uteAyxRsotX1G7DfzP3bme/r91nHwd2l
x29WlDZYfIFeU4CnxfF4HiOpTgev6D58YB/ZSfY8IuQDI9LVlcgx+8nc7h7JeDtsFWLdNGl2
OngU7DgG9hZ8p1pw8L/NLkgiXFHssi0+yWbTyI5TNvn6vgJy9gjWvU1VAwIDAQABo4HIMIHF
MAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgXgMDMGCWCGSAGG+EIBCAQmFiRodHRwOi8v
d3d3LnRydXN0Y2VudGVyLmRlL2d1aWRlbGluZXMwEQYJYIZIAYb4QgEBBAQDAgWgMF0GCWCG
SAGG+EIBAwRQFk5odHRwczovL3d3dy50cnVzdGNlbnRlci5kZS9jZ2ktYmluL2NoZWNrLXJl
di5jZ2kvNjM1NDAwMDAwMDAyODI1NzVCNDY5QjFCNUUyMD8wDQYJKoZIhvcNAQEEBQADgYEA
Q4uTkRihldYGv7xqzchdi6huZJ9k4LMoLV8Vl3Qb46TaQH9y1jNaFlBiOs3K2NAggKxwQrLA
UpFYQGH0OFso6BxeF4VGXeo0h5gJyu5mMucowhwUYWgyzp2V9edb6QNYi+yHMZwVFte/02lx
70efWM8hHvGu5r5mmVFpvbF120MxggR0MIIEcAIBATCBzzCBvDELMAkGA1UEBhMCREUxEDAO
BgNVBAgTB0hhbWJ1cmcxEDAOBgNVBAcTB0hhbWJ1cmcxOjA4BgNVBAoTMVRDIFRydXN0Q2Vu
dGVyIGZvciBTZWN1cml0eSBpbiBEYXRhIE5ldHdvcmtzIEdtYkgxIjAgBgNVBAsTGVRDIFRy
dXN0Q2VudGVyIENsYXNzIDEgQ0ExKTAnBgkqhkiG9w0BCQEWGmNlcnRpZmljYXRlQHRydXN0
Y2VudGVyLmRlAg5jVAAAAAKCV1tGmxteIDAJBgUrDgMCGgUAoIICeTAYBgkqhkiG9w0BCQMx
CwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0wNDEwMDMxOTQyMjRaMCMGCSqGSIb3DQEJ
BDEWBBQvNHPNl7rYSOfMmMAICn5iUWqsADBSBgkqhkiG9w0BCQ8xRTBDMAoGCCqGSIb3DQMH
MA4GCCqGSIb3DQMCAgIAgDANBggqhkiG9w0DAgIBQDAHBgUrDgMCBzANBggqhkiG9w0DAgIB
KDCB4AYJKwYBBAGCNxAEMYHSMIHPMIG8MQswCQYDVQQGEwJERTEQMA4GA1UECBMHSGFtYnVy
ZzEQMA4GA1UEBxMHSGFtYnVyZzE6MDgGA1UEChMxVEMgVHJ1c3RDZW50ZXIgZm9yIFNlY3Vy
aXR5IGluIERhdGEgTmV0d29ya3MgR21iSDEiMCAGA1UECxMZVEMgVHJ1c3RDZW50ZXIgQ2xh
c3MgMSBDQTEpMCcGCSqGSIb3DQEJARYaY2VydGlmaWNhdGVAdHJ1c3RjZW50ZXIuZGUCDmNU
AAAAAoJXW0abG14gMIHiBgsqhkiG9w0BCRACCzGB0qCBzzCBvDELMAkGA1UEBhMCREUxEDAO
BgNVBAgTB0hhbWJ1cmcxEDAOBgNVBAcTB0hhbWJ1cmcxOjA4BgNVBAoTMVRDIFRydXN0Q2Vu
dGVyIGZvciBTZWN1cml0eSBpbiBEYXRhIE5ldHdvcmtzIEdtYkgxIjAgBgNVBAsTGVRDIFRy
dXN0Q2VudGVyIENsYXNzIDEgQ0ExKTAnBgkqhkiG9w0BCQEWGmNlcnRpZmljYXRlQHRydXN0
Y2VudGVyLmRlAg5jVAAAAAKCV1tGmxteIDANBgkqhkiG9w0BAQEFAASCAQAl8LuqkrFmjYEr
QuQUVSET1aJ5PlDWrWI8dNdKVuvQ4E/+mD592d/+2YfRWqzx7Cw1u6m+S05/5SDk4+9RMpD0
2T2vf+Z3mtMPRbTIQAHAm78S3hr23PqHhZgOscfs5zaYkffyF3F36my16SbQGkWe6ZGdNJ7H
S2P60a/KDT5aMzj7eTaG4W0cAalSW8Lh6FUDy+Lnj0GpMh9QbEyXWjUzT+EgQRdOtK1E2UVa
xtP3HSHLniE9avxmByX+ESj7fQlAludhKVgqNAWnPXrSwkYX6seuWdp32tv5/gvIlHpV/qsk
1Lfq2bVmXB/A2izFmG9lKXPl64mg2QdkW9sbvjc8AAAAAAAA
--------------ms030207000702050607060306--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?41605620.90407>