summaryrefslogtreecommitdiffstats
path: root/sys/fs/smbfs/smbfs_vnops.c
diff options
context:
space:
mode:
authorpeadar <peadar@FreeBSD.org>2005-01-29 16:23:39 +0000
committerpeadar <peadar@FreeBSD.org>2005-01-29 16:23:39 +0000
commitef213df2874121624a2425c460b4847e1a6a8461 (patch)
treee0bcb61510046769d944a62c5d3c867680011cc9 /sys/fs/smbfs/smbfs_vnops.c
parentba0e01d2d8cf49714c460620bee1439460aa9995 (diff)
downloadFreeBSD-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/smbfs_vnops.c')
-rw-r--r--sys/fs/smbfs/smbfs_vnops.c4
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;
}
OpenPOWER on IntegriCloud