mirror of
https://git.rtems.org/rtems-libbsd/
synced 2025-10-14 13:56:17 +08:00
Update to FreeBSD head 2018-02-01
Git mirror commit d079ae0442af8fa3cfd6d7ede190d04e64a2c0d4. Update #3472.
This commit is contained in:
@@ -911,6 +911,7 @@ devfs_lookupx(struct vop_lookup_args *ap, int *dm_unlock)
|
||||
struct devfs_dirent *de, *dd;
|
||||
struct devfs_dirent **dde;
|
||||
struct devfs_mount *dmp;
|
||||
struct mount *mp;
|
||||
struct cdev *cdev;
|
||||
int error, flags, nameiop, dvplocked;
|
||||
char specname[SPECNAMELEN + 1], *pname;
|
||||
@@ -922,7 +923,8 @@ devfs_lookupx(struct vop_lookup_args *ap, int *dm_unlock)
|
||||
td = cnp->cn_thread;
|
||||
flags = cnp->cn_flags;
|
||||
nameiop = cnp->cn_nameiop;
|
||||
dmp = VFSTODEVFS(dvp->v_mount);
|
||||
mp = dvp->v_mount;
|
||||
dmp = VFSTODEVFS(mp);
|
||||
dd = dvp->v_data;
|
||||
*vpp = NULLVP;
|
||||
|
||||
@@ -955,8 +957,8 @@ devfs_lookupx(struct vop_lookup_args *ap, int *dm_unlock)
|
||||
return (ENOENT);
|
||||
dvplocked = VOP_ISLOCKED(dvp);
|
||||
VOP_UNLOCK(dvp, 0);
|
||||
error = devfs_allocv(de, dvp->v_mount,
|
||||
cnp->cn_lkflags & LK_TYPE_MASK, vpp);
|
||||
error = devfs_allocv(de, mp, cnp->cn_lkflags & LK_TYPE_MASK,
|
||||
vpp);
|
||||
*dm_unlock = 0;
|
||||
vn_lock(dvp, dvplocked | LK_RETRY);
|
||||
return (error);
|
||||
@@ -1041,8 +1043,7 @@ devfs_lookupx(struct vop_lookup_args *ap, int *dm_unlock)
|
||||
return (0);
|
||||
}
|
||||
}
|
||||
error = devfs_allocv(de, dvp->v_mount, cnp->cn_lkflags & LK_TYPE_MASK,
|
||||
vpp);
|
||||
error = devfs_allocv(de, mp, cnp->cn_lkflags & LK_TYPE_MASK, vpp);
|
||||
*dm_unlock = 0;
|
||||
return (error);
|
||||
}
|
||||
@@ -1195,6 +1196,18 @@ devfs_pathconf(struct vop_pathconf_args *ap)
|
||||
{
|
||||
|
||||
switch (ap->a_name) {
|
||||
case _PC_FILESIZEBITS:
|
||||
*ap->a_retval = 64;
|
||||
return (0);
|
||||
case _PC_NAME_MAX:
|
||||
*ap->a_retval = NAME_MAX;
|
||||
return (0);
|
||||
case _PC_LINK_MAX:
|
||||
*ap->a_retval = INT_MAX;
|
||||
return (0);
|
||||
case _PC_SYMLINK_MAX:
|
||||
*ap->a_retval = MAXPATHLEN;
|
||||
return (0);
|
||||
case _PC_MAX_CANON:
|
||||
if (ap->a_vp->v_vflag & VV_ISTTY) {
|
||||
*ap->a_retval = MAX_CANON;
|
||||
@@ -1224,6 +1237,9 @@ devfs_pathconf(struct vop_pathconf_args *ap)
|
||||
*ap->a_retval = 0;
|
||||
#endif
|
||||
return (0);
|
||||
case _PC_CHOWN_RESTRICTED:
|
||||
*ap->a_retval = 1;
|
||||
return (0);
|
||||
default:
|
||||
return (vop_stdpathconf(ap));
|
||||
}
|
||||
|
Reference in New Issue
Block a user