Lines Matching refs:opt

165 vfs_freeopt(struct vfsoptlist *opts, struct vfsopt *opt)  in vfs_freeopt()  argument
168 TAILQ_REMOVE(opts, opt, link); in vfs_freeopt()
169 free(opt->name, M_MOUNT); in vfs_freeopt()
170 if (opt->value != NULL) in vfs_freeopt()
171 free(opt->value, M_MOUNT); in vfs_freeopt()
172 free(opt, M_MOUNT); in vfs_freeopt()
179 struct vfsopt *opt; in vfs_freeopts() local
182 opt = TAILQ_FIRST(opts); in vfs_freeopts()
183 vfs_freeopt(opts, opt); in vfs_freeopts()
191 struct vfsopt *opt, *temp; in vfs_deleteopt() local
195 TAILQ_FOREACH_SAFE(opt, opts, link, temp) { in vfs_deleteopt()
196 if (strcmp(opt->name, name) == 0) in vfs_deleteopt()
197 vfs_freeopt(opts, opt); in vfs_deleteopt()
202 vfs_isopt_ro(const char *opt) in vfs_isopt_ro() argument
205 if (strcmp(opt, "ro") == 0 || strcmp(opt, "rdonly") == 0 || in vfs_isopt_ro()
206 strcmp(opt, "norw") == 0) in vfs_isopt_ro()
212 vfs_isopt_rw(const char *opt) in vfs_isopt_rw() argument
215 if (strcmp(opt, "rw") == 0 || strcmp(opt, "noro") == 0) in vfs_isopt_rw()
263 struct vfsopt *opt, *opt2, *tmp; in vfs_sanitizeopts() local
265 TAILQ_FOREACH_REVERSE(opt, opts, vfsoptlist, link) { in vfs_sanitizeopts()
266 opt2 = TAILQ_PREV(opt, vfsoptlist, link); in vfs_sanitizeopts()
268 if (vfs_equalopts(opt->name, opt2->name)) { in vfs_sanitizeopts()
286 struct vfsopt *opt; in vfs_buildopts() local
310 opt = malloc(sizeof(struct vfsopt), M_MOUNT, M_WAITOK); in vfs_buildopts()
311 opt->name = malloc(namelen, M_MOUNT, M_WAITOK); in vfs_buildopts()
312 opt->value = NULL; in vfs_buildopts()
313 opt->len = 0; in vfs_buildopts()
314 opt->pos = i / 2; in vfs_buildopts()
315 opt->seen = 0; in vfs_buildopts()
321 TAILQ_INSERT_TAIL(opts, opt, link); in vfs_buildopts()
324 bcopy(auio->uio_iov[i].iov_base, opt->name, namelen); in vfs_buildopts()
326 error = copyin(auio->uio_iov[i].iov_base, opt->name, in vfs_buildopts()
332 if (namelen == 0 || opt->name[namelen - 1] != '\0') { in vfs_buildopts()
337 opt->len = optlen; in vfs_buildopts()
338 opt->value = malloc(optlen, M_MOUNT, M_WAITOK); in vfs_buildopts()
340 bcopy(auio->uio_iov[i + 1].iov_base, opt->value, in vfs_buildopts()
344 opt->value, optlen); in vfs_buildopts()
369 struct vfsopt *opt, *new; in vfs_mergeopts() local
371 TAILQ_FOREACH(opt, oldopts, link) { in vfs_mergeopts()
373 new->name = strdup(opt->name, M_MOUNT); in vfs_mergeopts()
374 if (opt->len != 0) { in vfs_mergeopts()
375 new->value = malloc(opt->len, M_MOUNT, M_WAITOK); in vfs_mergeopts()
376 bcopy(opt->value, new->value, opt->len); in vfs_mergeopts()
379 new->len = opt->len; in vfs_mergeopts()
380 new->seen = opt->seen; in vfs_mergeopts()
627 struct vfsopt *opt, *tmp_opt; in vfs_donmount() local
672 TAILQ_FOREACH_SAFE(opt, optlist, link, tmp_opt) { in vfs_donmount()
675 if (strcmp(opt->name, "update") == 0) { in vfs_donmount()
679 else if (strcmp(opt->name, "async") == 0) in vfs_donmount()
681 else if (strcmp(opt->name, "force") == 0) { in vfs_donmount()
685 else if (strcmp(opt->name, "reload") == 0) { in vfs_donmount()
689 else if (strcmp(opt->name, "multilabel") == 0) in vfs_donmount()
691 else if (strcmp(opt->name, "noasync") == 0) in vfs_donmount()
693 else if (strcmp(opt->name, "noatime") == 0) in vfs_donmount()
695 else if (strcmp(opt->name, "atime") == 0) { in vfs_donmount()
696 free(opt->name, M_MOUNT); in vfs_donmount()
697 opt->name = strdup("nonoatime", M_MOUNT); in vfs_donmount()
699 else if (strcmp(opt->name, "noclusterr") == 0) in vfs_donmount()
701 else if (strcmp(opt->name, "clusterr") == 0) { in vfs_donmount()
702 free(opt->name, M_MOUNT); in vfs_donmount()
703 opt->name = strdup("nonoclusterr", M_MOUNT); in vfs_donmount()
705 else if (strcmp(opt->name, "noclusterw") == 0) in vfs_donmount()
707 else if (strcmp(opt->name, "clusterw") == 0) { in vfs_donmount()
708 free(opt->name, M_MOUNT); in vfs_donmount()
709 opt->name = strdup("nonoclusterw", M_MOUNT); in vfs_donmount()
711 else if (strcmp(opt->name, "noexec") == 0) in vfs_donmount()
713 else if (strcmp(opt->name, "exec") == 0) { in vfs_donmount()
714 free(opt->name, M_MOUNT); in vfs_donmount()
715 opt->name = strdup("nonoexec", M_MOUNT); in vfs_donmount()
717 else if (strcmp(opt->name, "nosuid") == 0) in vfs_donmount()
719 else if (strcmp(opt->name, "suid") == 0) { in vfs_donmount()
720 free(opt->name, M_MOUNT); in vfs_donmount()
721 opt->name = strdup("nonosuid", M_MOUNT); in vfs_donmount()
723 else if (strcmp(opt->name, "nosymfollow") == 0) in vfs_donmount()
725 else if (strcmp(opt->name, "symfollow") == 0) { in vfs_donmount()
726 free(opt->name, M_MOUNT); in vfs_donmount()
727 opt->name = strdup("nonosymfollow", M_MOUNT); in vfs_donmount()
729 else if (strcmp(opt->name, "noro") == 0) { in vfs_donmount()
733 else if (strcmp(opt->name, "rw") == 0) { in vfs_donmount()
737 else if (strcmp(opt->name, "ro") == 0) { in vfs_donmount()
741 else if (strcmp(opt->name, "rdonly") == 0) { in vfs_donmount()
742 free(opt->name, M_MOUNT); in vfs_donmount()
743 opt->name = strdup("ro", M_MOUNT); in vfs_donmount()
747 else if (strcmp(opt->name, "autoro") == 0) { in vfs_donmount()
751 else if (strcmp(opt->name, "suiddir") == 0) in vfs_donmount()
753 else if (strcmp(opt->name, "sync") == 0) in vfs_donmount()
755 else if (strcmp(opt->name, "union") == 0) in vfs_donmount()
757 else if (strcmp(opt->name, "automounted") == 0) { in vfs_donmount()
760 } else if (strcmp(opt->name, "nocover") == 0) { in vfs_donmount()
763 } else if (strcmp(opt->name, "cover") == 0) { in vfs_donmount()
766 } else if (strcmp(opt->name, "emptydir") == 0) { in vfs_donmount()
769 } else if (strcmp(opt->name, "noemptydir") == 0) { in vfs_donmount()
774 vfs_freeopt(optlist, opt); in vfs_donmount()
1956 struct vfsopt *opt; in vfs_filteropt() local
1961 TAILQ_FOREACH(opt, opts, link) { in vfs_filteropt()
1962 p = opt->name; in vfs_filteropt()
1991 TAILQ_FOREACH(opt, opts, link) { in vfs_filteropt()
1992 if (strcmp(opt->name, "errmsg") == 0) { in vfs_filteropt()
1993 strncpy((char *)opt->value, errmsg, opt->len); in vfs_filteropt()
1997 if (opt == NULL) in vfs_filteropt()
2014 struct vfsopt *opt; in vfs_getopt() local
2018 TAILQ_FOREACH(opt, opts, link) { in vfs_getopt()
2019 if (strcmp(name, opt->name) == 0) { in vfs_getopt()
2020 opt->seen = 1; in vfs_getopt()
2022 *len = opt->len; in vfs_getopt()
2024 *buf = opt->value; in vfs_getopt()
2034 struct vfsopt *opt; in vfs_getopt_pos() local
2039 TAILQ_FOREACH(opt, opts, link) { in vfs_getopt_pos()
2040 if (strcmp(name, opt->name) == 0) { in vfs_getopt_pos()
2041 opt->seen = 1; in vfs_getopt_pos()
2042 return (opt->pos); in vfs_getopt_pos()
2092 struct vfsopt *opt; in vfs_getopts() local
2095 TAILQ_FOREACH(opt, opts, link) { in vfs_getopts()
2096 if (strcmp(name, opt->name) != 0) in vfs_getopts()
2098 opt->seen = 1; in vfs_getopts()
2099 if (opt->len == 0 || in vfs_getopts()
2100 ((char *)opt->value)[opt->len - 1] != '\0') { in vfs_getopts()
2104 return (opt->value); in vfs_getopts()
2114 struct vfsopt *opt; in vfs_flagopt() local
2116 TAILQ_FOREACH(opt, opts, link) { in vfs_flagopt()
2117 if (strcmp(name, opt->name) == 0) { in vfs_flagopt()
2118 opt->seen = 1; in vfs_flagopt()
2133 struct vfsopt *opt; in vfs_scanopt() local
2138 TAILQ_FOREACH(opt, opts, link) { in vfs_scanopt()
2139 if (strcmp(name, opt->name) != 0) in vfs_scanopt()
2141 opt->seen = 1; in vfs_scanopt()
2142 if (opt->len == 0 || opt->value == NULL) in vfs_scanopt()
2144 if (((char *)opt->value)[opt->len - 1] != '\0') in vfs_scanopt()
2147 ret = vsscanf(opt->value, fmt, ap); in vfs_scanopt()
2157 struct vfsopt *opt; in vfs_setopt() local
2159 TAILQ_FOREACH(opt, opts, link) { in vfs_setopt()
2160 if (strcmp(name, opt->name) != 0) in vfs_setopt()
2162 opt->seen = 1; in vfs_setopt()
2163 if (opt->value == NULL) in vfs_setopt()
2164 opt->len = len; in vfs_setopt()
2166 if (opt->len != len) in vfs_setopt()
2168 bcopy(value, opt->value, len); in vfs_setopt()
2178 struct vfsopt *opt; in vfs_setopt_part() local
2180 TAILQ_FOREACH(opt, opts, link) { in vfs_setopt_part()
2181 if (strcmp(name, opt->name) != 0) in vfs_setopt_part()
2183 opt->seen = 1; in vfs_setopt_part()
2184 if (opt->value == NULL) in vfs_setopt_part()
2185 opt->len = len; in vfs_setopt_part()
2187 if (opt->len < len) in vfs_setopt_part()
2189 opt->len = len; in vfs_setopt_part()
2190 bcopy(value, opt->value, len); in vfs_setopt_part()
2200 struct vfsopt *opt; in vfs_setopts() local
2202 TAILQ_FOREACH(opt, opts, link) { in vfs_setopts()
2203 if (strcmp(name, opt->name) != 0) in vfs_setopts()
2205 opt->seen = 1; in vfs_setopts()
2206 if (opt->value == NULL) in vfs_setopts()
2207 opt->len = strlen(value) + 1; in vfs_setopts()
2208 else if (strlcpy(opt->value, value, opt->len) >= opt->len) in vfs_setopts()
2226 struct vfsopt *opt; in vfs_copyopt() local
2230 TAILQ_FOREACH(opt, opts, link) { in vfs_copyopt()
2231 if (strcmp(name, opt->name) == 0) { in vfs_copyopt()
2232 opt->seen = 1; in vfs_copyopt()
2233 if (len != opt->len) in vfs_copyopt()
2235 bcopy(opt->value, dest, opt->len); in vfs_copyopt()
2484 struct vfsopt *opt; in mount_devctl_event_mntopt() local
2489 TAILQ_FOREACH(opt, opts, link) { in mount_devctl_event_mntopt()
2490 if (opt->name[0] == '\0' || (opt->len > 0 && *(char *)opt->value == '\0')) in mount_devctl_event_mntopt()
2492 devctl_safe_quote_sb(sb, opt->name); in mount_devctl_event_mntopt()
2493 if (opt->len > 0) { in mount_devctl_event_mntopt()
2495 devctl_safe_quote_sb(sb, opt->value); in mount_devctl_event_mntopt()