Lines 42-47
Link Here
|
42 |
#include <sys/fcntl.h> |
42 |
#include <sys/fcntl.h> |
43 |
#include <sys/malloc.h> |
43 |
#include <sys/malloc.h> |
44 |
#include <sys/systm.h> |
44 |
#include <sys/systm.h> |
|
|
45 |
#include <sys/stat.h> /* ACCESSPERMS */ |
45 |
|
46 |
|
46 |
#include <geom/geom.h> |
47 |
#include <geom/geom.h> |
47 |
#include <geom/geom_vfs.h> |
48 |
#include <geom/geom_vfs.h> |
Lines 131-136
Link Here
|
131 |
ma = mount_argf(ma, "uid", "%d", args.uid); |
132 |
ma = mount_argf(ma, "uid", "%d", args.uid); |
132 |
ma = mount_argf(ma, "gid", "%d", args.gid); |
133 |
ma = mount_argf(ma, "gid", "%d", args.gid); |
133 |
ma = mount_argf(ma, "mode", "%d", args.mode); |
134 |
ma = mount_argf(ma, "mode", "%d", args.mode); |
|
|
135 |
ma = mount_argf(ma, "dirmode", "%d", args.dirmode); |
134 |
ma = mount_argb(ma, args.flag & NTFS_MFLAG_CASEINS, "nocaseins"); |
136 |
ma = mount_argb(ma, args.flag & NTFS_MFLAG_CASEINS, "nocaseins"); |
135 |
ma = mount_argb(ma, args.flag & NTFS_MFLAG_ALLNAMES, "noallnames"); |
137 |
ma = mount_argb(ma, args.flag & NTFS_MFLAG_ALLNAMES, "noallnames"); |
136 |
if (args.flag & NTFS_MFLAG_KICONV) { |
138 |
if (args.flag & NTFS_MFLAG_KICONV) { |
Lines 144-150
Link Here
|
144 |
} |
146 |
} |
145 |
|
147 |
|
146 |
static const char *ntfs_opts[] = { |
148 |
static const char *ntfs_opts[] = { |
147 |
"from", "export", "uid", "gid", "mode", "caseins", "allnames", |
149 |
"from", "export", "uid", "gid", "mode", "dirmode", "caseins", "allnames", |
148 |
"kiconv", "cs_ntfs", "cs_local", NULL |
150 |
"kiconv", "cs_ntfs", "cs_local", NULL |
149 |
}; |
151 |
}; |
150 |
|
152 |
|
Lines 318-324
Link Here
|
318 |
if (1 == vfs_scanopt(mp->mnt_optnew, "gid", "%d", &v)) |
320 |
if (1 == vfs_scanopt(mp->mnt_optnew, "gid", "%d", &v)) |
319 |
ntmp->ntm_gid = v; |
321 |
ntmp->ntm_gid = v; |
320 |
if (1 == vfs_scanopt(mp->mnt_optnew, "mode", "%d", &v)) |
322 |
if (1 == vfs_scanopt(mp->mnt_optnew, "mode", "%d", &v)) |
321 |
ntmp->ntm_mode = v; |
323 |
ntmp->ntm_mode = v & ACCESSPERMS; |
|
|
324 |
if (1 == vfs_scanopt(mp->mnt_optnew, "dirmode", "%d", &v)) |
325 |
ntmp->ntm_dirmode = v & ACCESSPERMS; |
322 |
vfs_flagopt(mp->mnt_optnew, |
326 |
vfs_flagopt(mp->mnt_optnew, |
323 |
"caseins", &ntmp->ntm_flag, NTFS_MFLAG_CASEINS); |
327 |
"caseins", &ntmp->ntm_flag, NTFS_MFLAG_CASEINS); |
324 |
vfs_flagopt(mp->mnt_optnew, |
328 |
vfs_flagopt(mp->mnt_optnew, |
Lines 342-351
Link Here
|
342 |
|
346 |
|
343 |
mp->mnt_data = (qaddr_t)ntmp; |
347 |
mp->mnt_data = (qaddr_t)ntmp; |
344 |
|
348 |
|
345 |
dprintf(("ntfs_mountfs(): case-%s,%s uid: %d, gid: %d, mode: %o\n", |
349 |
dprintf(("ntfs_mountfs(): case-%s,%s uid: %d, gid: %d, mode: %o, dirmode: %o\n", |
346 |
(ntmp->ntm_flag & NTFS_MFLAG_CASEINS)?"insens.":"sens.", |
350 |
(ntmp->ntm_flag & NTFS_MFLAG_CASEINS)?"insens.":"sens.", |
347 |
(ntmp->ntm_flag & NTFS_MFLAG_ALLNAMES)?" allnames,":"", |
351 |
(ntmp->ntm_flag & NTFS_MFLAG_ALLNAMES)?" allnames,":"", |
348 |
ntmp->ntm_uid, ntmp->ntm_gid, ntmp->ntm_mode)); |
352 |
ntmp->ntm_uid, ntmp->ntm_gid, ntmp->ntm_mode, ntmp->ntm_dirmode)); |
349 |
|
353 |
|
350 |
/* |
354 |
/* |
351 |
* We read in some system nodes to do not allow |
355 |
* We read in some system nodes to do not allow |