diff options
author | Gianluca Guida <glguida@gmail.com> | 2005-06-30 18:49:55 +0000 |
---|---|---|
committer | Gianluca Guida <glguida@gmail.com> | 2005-06-30 18:49:55 +0000 |
commit | 3054767a46e0142cacef895c13edb4391435c722 (patch) | |
tree | c3dd42959eabd48d87bb7d4c66c325197943c245 /stow.c | |
parent | ecdca81b8c88107d4a23dd412f603d5b8ddd43bf (diff) |
2005-06-27 Ben Asselstine <benasselstine@gmail.com>
* ulfs.c (ulfs_install): Rewrote to allow insertions of
filesystems based on priority.
(ulfs_register): Added new argument 'priority'. Set the priority
value in ulfs structure.
* ulfs.h (ulfs): Added 'priority' field to struct.
Updated ulfs_register declaration.
* netfs.c (netfs_append_args): Appending new priority option.
* stow.c (stow_privdata): Added 'priority' field to struct.
(stow_diradd): Added new 'priority' argument. Fill priority field
of 'mypriv'.
(_stow_scanstowentry): Changed caller to ulfs_register.
(_stow_registermatchingdirs): Likewise.
* options.c (arg_common_options): Added entries for OPT_PRIORITY
and OPT_ADD.
(arg_parse_common_options): Handle OPT_PRIORITY and OPT_ADD
case. Renamed 'ulfs_removed' to 'ulfs_mode'. New variable
'ulfs_priority'. Changed caller to 'stow_diradd'. Changed caller
to 'ulfs_register'.
* options.h (OPT_ADD, OPT_PRIORITY, OPT_LONG_ADD)
(OPT_LONG_PRIORITY, ULFS_MODE_ADD, ULFS_MODE_REMOVE): New
declarations.
Diffstat (limited to 'stow.c')
-rw-r--r-- | stow.c | 9 |
1 files changed, 6 insertions, 3 deletions
@@ -34,6 +34,7 @@ struct stow_privdata { struct patternlist *patternlist; int flags; + int priority; struct mutex lock; }; @@ -51,7 +52,7 @@ _stow_registermatchingdirs (char *arg, char *dirpath, void *priv) filepath = make_filepath (dirpath, arg); - err = ulfs_register (filepath, privdata->flags); + err = ulfs_register (filepath, privdata->flags, privdata->priority); free (filepath); @@ -82,7 +83,7 @@ _stow_scanstowentry (char *arg, char *dirpath, void *priv) if (patternlist_isempty (privdata->patternlist)) { - err = ulfs_register (filepath, privdata->flags); + err = ulfs_register (filepath, privdata->flags, privdata->priority); if (err) { mutex_unlock (&privdata->lock); @@ -253,7 +254,8 @@ _stow_notify_thread() /* Interface to unionfs. */ error_t -stow_diradd (char *dir, int flags, struct patternlist *patternlist) +stow_diradd (char *dir, int flags, struct patternlist *patternlist, + int priority) { error_t err; @@ -291,6 +293,7 @@ stow_diradd (char *dir, int flags, struct patternlist *patternlist) mypriv->patternlist = patternlist; mypriv->flags = flags; + mypriv->priority = priority; mutex_init (&mypriv->lock); err = for_each_subdir_priv (dir, _stow_scanstowentry, (void *)mypriv); |