diff options
author | peadar <peadar@FreeBSD.org> | 2005-01-29 16:23:39 +0000 |
---|---|---|
committer | peadar <peadar@FreeBSD.org> | 2005-01-29 16:23:39 +0000 |
commit | ef213df2874121624a2425c460b4847e1a6a8461 (patch) | |
tree | e0bcb61510046769d944a62c5d3c867680011cc9 /sys/fs/smbfs | |
parent | ba0e01d2d8cf49714c460620bee1439460aa9995 (diff) | |
download | FreeBSD-src-ef213df2874121624a2425c460b4847e1a6a8461.zip FreeBSD-src-ef213df2874121624a2425c460b4847e1a6a8461.tar.gz |
Unbreak a few filesystems for which vnode_create_vobject() wasn't being
called in "open", causing mmap() to fail.
Where possible, pass size of file to vnode_create_vobject() rather
than having it find it out the hard way via VOP_LOOKUP
Reviewed by: phk
Diffstat (limited to 'sys/fs/smbfs')
-rw-r--r-- | sys/fs/smbfs/smbfs_vnops.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/fs/smbfs/smbfs_vnops.c b/sys/fs/smbfs/smbfs_vnops.c index fb0976f..b75abd7 100644 --- a/sys/fs/smbfs/smbfs_vnops.c +++ b/sys/fs/smbfs/smbfs_vnops.c @@ -212,8 +212,10 @@ smbfs_open(ap) error = smbfs_smb_open(np, accmode, &scred); } } - if (error == 0) + if (error == 0) { np->n_flag |= NOPEN; + vnode_create_vobject(ap->a_vp, vattr.va_size, ap->a_td); + } smbfs_attr_cacheremove(vp); return error; } |