diff options
author | Michael I. Bushnell <mib@gnu.org> | 1995-06-09 21:06:30 +0000 |
---|---|---|
committer | Michael I. Bushnell <mib@gnu.org> | 1995-06-09 21:06:30 +0000 |
commit | 48bcdb8e4cb9bce2a763bfc340d06b93f358324a (patch) | |
tree | 6449f8c8022e76701e86492733a1a95f41e476b1 /libdiskfs | |
parent | 90af010a75a083f1b78a219c1f327b0b49392b2f (diff) |
(diskfs_S_fsys_set_options): Bother validating FSYS and implementing
DO_CHILDREN.
Diffstat (limited to 'libdiskfs')
-rw-r--r-- | libdiskfs/fsys-options.c | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/libdiskfs/fsys-options.c b/libdiskfs/fsys-options.c index e52f582e..6b4ed3c0 100644 --- a/libdiskfs/fsys-options.c +++ b/libdiskfs/fsys-options.c @@ -32,8 +32,24 @@ diskfs_S_fsys_set_options (fsys_t fsys, { int argc = argz_count (data, len); char **argv = alloca (sizeof (char *) * (argc + 1)); + struct port_info *pt = ports_lookup_port (diskfs_port_bucket, fsys, + diskfs_control_class); + int ret; + void dochild (struct trans_link *trans, void *arg) + { + fsys_set_options (trans->control, data, len, do_children); + } + + if (!pt) + return EOPNOTSUPP; + + if (do_children) + fshelp_translator_iterate (dochild, 0); argz_extract (data, len, argv); - return diskfs_set_options (argc, argv); + ret = diskfs_set_options (argc, argv); + + ports_port_deref (pt); + return ret; } |