summaryrefslogtreecommitdiff
path: root/usr/src/uts/common/fs/udfs/udf_vfsops.c
diff options
context:
space:
mode:
authorSebastien Roy <seb@delphix.com>2017-01-31 17:53:32 -0500
committerPrakash Surya <prakash.surya@delphix.com>2018-02-13 08:28:04 -0800
commitd9a54dd1ef75248420c035ec1d240674f8d1f4fb (patch)
tree6dff8e23c5877980c56ed5e5b89bc99c27c3086a /usr/src/uts/common/fs/udfs/udf_vfsops.c
parent213fcdcbdccbdeb7d33fbae7ba8d2639a6f8fd01 (diff)
downloadillumos-joyent-d9a54dd1ef75248420c035ec1d240674f8d1f4fb.tar.gz
9074 domount() interprets ZFS filesystem names as relative paths
Reviewed by: Paul Dagnelie <pcd@delphix.com> Reviewed by: George Wilson <george.wilson@delphix.com> Reviewed by: Andrew Stormont <andyjstormont@gmail.com> Reviewed by: Robert Mustacchi <rm@joyent.com> Approved by: Hans Rosenfeld <rosenfeld@grumpf.hope-2000.org>
Diffstat (limited to 'usr/src/uts/common/fs/udfs/udf_vfsops.c')
-rw-r--r--usr/src/uts/common/fs/udfs/udf_vfsops.c19
1 files changed, 9 insertions, 10 deletions
diff --git a/usr/src/uts/common/fs/udfs/udf_vfsops.c b/usr/src/uts/common/fs/udfs/udf_vfsops.c
index 479898fe9c..ebb1d7d813 100644
--- a/usr/src/uts/common/fs/udfs/udf_vfsops.c
+++ b/usr/src/uts/common/fs/udfs/udf_vfsops.c
@@ -22,6 +22,7 @@
* Copyright 2008 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
* Copyright (c) 2011 Bayard G. Bell. All rights reserved.
+ * Copyright (c) 2017 by Delphix. All rights reserved.
*/
#include <sys/types.h>
@@ -121,7 +122,7 @@ static vfsdef_t vfw = {
VFSDEF_VERSION,
"udfs",
udfinit,
- VSW_HASPROTO|VSW_CANREMOUNT|VSW_STATS|VSW_CANLOFI,
+ VSW_HASPROTO|VSW_CANREMOUNT|VSW_STATS|VSW_CANLOFI|VSW_MOUNTDEV,
&udfs_mntopts
};
@@ -177,7 +178,7 @@ _NOTE(SCHEME_PROTECTS_DATA("safe sharing", rootvp))
#endif
static int32_t
udf_mount(struct vfs *vfsp, struct vnode *mvp,
- struct mounta *uap, struct cred *cr)
+ struct mounta *uap, struct cred *cr)
{
dev_t dev;
struct vnode *lvp = NULL;
@@ -489,8 +490,7 @@ udf_sync(struct vfs *vfsp, int16_t flag, struct cred *cr)
/* ARGSUSED */
static int32_t
-udf_vget(struct vfs *vfsp,
- struct vnode **vpp, struct fid *fidp)
+udf_vget(struct vfs *vfsp, struct vnode **vpp, struct fid *fidp)
{
int32_t error = 0;
struct udf_fid *udfid;
@@ -612,9 +612,8 @@ udf_mountroot(struct vfs *vfsp, enum whymountroot why)
static int32_t
-ud_mountfs(struct vfs *vfsp,
- enum whymountroot why, dev_t dev, char *name,
- struct cred *cr, int32_t isroot)
+ud_mountfs(struct vfs *vfsp, enum whymountroot why, dev_t dev, char *name,
+ struct cred *cr, int32_t isroot)
{
struct vnode *devvp = NULL;
int32_t error = 0;
@@ -1554,7 +1553,7 @@ ud_destroy_fsp(struct udf_vfs *udf_vfsp)
void
ud_convert_to_superblock(struct udf_vfs *udf_vfsp,
- struct log_vol_int_desc *lvid)
+ struct log_vol_int_desc *lvid)
{
int32_t i, c;
uint32_t *temp;
@@ -1652,7 +1651,7 @@ int32_t ud_sub_count = 4;
*/
static int32_t
ud_val_get_vat(struct udf_vfs *udf_vfsp, dev_t dev,
- daddr_t blkno, struct ud_map *udm)
+ daddr_t blkno, struct ud_map *udm)
{
struct buf *secbp;
struct file_entry *fe;
@@ -1776,7 +1775,7 @@ end:
int32_t
ud_read_sparing_tbls(struct udf_vfs *udf_vfsp,
- dev_t dev, struct ud_map *map, struct pmap_typ2 *typ2)
+ dev_t dev, struct ud_map *map, struct pmap_typ2 *typ2)
{
int32_t index, valid = 0;
uint32_t sz;