1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
|
2006-06-21 Alfred M. Szmidt <ams@gnu.org>
* lib.c (for_each_subdir): Revert previous change. Reported by
Aanjhan Ranganathan <aanjhan@tuxmaniac.com>.
2006-04-13 Ben Asselstine <benasselstine@gmail.com>
* options.c (argp_parse_common_options)
(argp_parse_startup_options, parsing_startup_options_finished)
(argp_common_options, argp_startup_options)
(argp_parser_common_options, argp_parser_startup_options)
(argp_children_runtime): Make these static.
* ulfs.c (ulfs_create, ulfs_destroy, ulfs_install)
(ulfs_uninstall, ulfs_get_path): Likewise.
* ulfs.h (ulfs_get_path): Remove declaration.
* lib.c (for_each_subdir): Remove unused variables.
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.
2005-06-13 Gianluca Guida <glguida@gmail.com>
* main.c (main): Set properly netfs_root_node permissions when
underlying node is not a file
Reported by Alfred M. Szmidt.
2005-05-31 Gianluca Guida <glguida@gmail.com>
* node.c (node_unlink_file): Use lookup to figure out whether a file
exists or not, or it will fail on read-only filesystems.
Reported by Ben Asselstine.
2005-05-30 Gianluca Guida <glguida@gmail.com>
* AUTHORS: Added myself in the list.
* README: Added sections "Introduction" and "Stowing Feature".
* options.c (argp_program_bug_address): Changed address.
* lib.c (for_each_subdir): When call to stat() fails free "name"
and continue the loop, instead of returning error. Return 0 at the
end of the loop.
(for_each_subdir_priv): Likewise.
* stow.c (_stow_registermatchingdirs): Don't return error when
patternlist_match returns false. Free filepath before returning
error when ulfs_register fails.
* ulfs.c (ulfs_register): Removed bogus fprintf.
2005-05-29 Gianluca Guida <glguida@gmail.com>
* Makefile: Added support for building mig stubs for stow feature.
(OBJS): Added update.o
(unionfs): Added fs_notifyServer.o to final linking.
(unionfs.static): Likewise.
(fs_notifyServer.o): New rule.
(clean): Remove fs_notifyServer.c and fs_notify_S.h when cleaning.
* netfs.c (OFFSET_T): New macro.
(_get_node_size): New function.
(netfs_validate_stat): Call _get_node_size for root node.
* node.c (node_unlink_file): New variable "removed". Return ENOENT
if no files unlinked.
* ulfs.c: Include "unionfs", fcntl.h and "lib.h".
(ulfs_install, ulfs_uninstall): Rewritten.
(ulfs_for_each_under_priv, ulfs_check): New function.
(ulfs_register): Check that argument is a directory.
* ulfs.h: Removed field "prevp" from struct ulfs.
(ulfs_check): New declaration.
(ulfs_iterate, ulfs_iterate_unlocked): Don't use ulfs_chain_end.
* lib.c (check_dir): New function.
* lib.h: Added declaration of check_dir.
* stow.c: Include "update.h", cthreads.h, hurd/port.h,
"stow-priv.h" and "ncache.h".
(stow_privdata) Added "lock" to struct. Removed "remove" to
struct.
(_stow_registermatchingdirs): Removed call to
debug_msg_send. Removed call to ulfs_unregister when
privdata->remove is set. Return error on ulfs_register failure
instead of exiting the program.
(_stow_scanstowentry): Removed call to ulfs_unregister when
privdata->remove is set. Lock privdata->lock and unlock at end.
(stow_port_bucket, stow_port_class): New variables.
(_stow_notify_init, begin_using_notify_ports)
(end_using_notify_ports, stow_S_file_changed, stow_S_dir_changed)
(_stow_notify_thread, stow_init): New functions.
(stow_diradd): Allocate "mypriv" instead of using stack. Call
_stow_notify_init.
* stow.h: Include "pattern.h". Declare
stow_init.
* stow-priv.h: New file.
* stow-mutations.h: Likewise.
* update.c: Likewise.
* update.h: Likewise.
* options.c: Include "update.h".
(argp_parse_common_options): Check stow_diradd return. Call
root_update_schedule instead of node_init_root and ncache_reset
when parsing_startup_options_finished is set.
* main.c: Include "stow.h". Include "update.h".
(main): Call stow_init. Call root_update_init.
2005-05-25 Gianluca Guida <glguida@gmail.com>
* CAVEAT: New file.
* README: Rewritten.
* netfs.c (netfs_attempt_unlink): Use fshelp_checkdirmod
instead of fshelp_access.
(netfs_attempt_mkdir): Implemented.
(netfs_attempt_rmdir): Likewise.
(netfs_attempt_create_file_reduced): Likewise.
Fixed typo in a comment.
* node.c (node_dir_remove): New function.
(node_dir_create): Likewise.
* node.h (node_dir_create): New declaration.
(node_dir_remove): Likewise.
* lib.c (for_each_file_priv): Removed unused variables
"name" and "filestat".
2005-05-24 Gianluca Guida <glguida@gmail.com>
* netfs.c (netfs_attempt_unlink): Implemented.
(netfs_attempt_create_file_reduced): New function.
(netfs_S_dir_lookup): Initialized variable "error".
Added support for file creation.
(netfs_attempt_lookup_improved): Changed instruction flow,
return on error not continue on non-error.
Check user permission to open file before returning port.
* node.c (node_create, node_update, node_lookup_file, node_ulfs_free)
(node_ulfs_init, node_entries_get, node_create_root, node_init_root):
Changed instruction flow, return on error not continue on non-error.
(node_unlink_file): New function.
* node.h (node_unlink_file): New declaration.
(node_ulfs_iterate_reverse_unlocked): New macro.
* options.c (argp_parse_common_options): Removed debugging fprintf.
2005-01-31 Gianluca Guida <glguida@gmail.com>
* stow.c (stow_diradd): Handle --stow argument with missing /
correctly.
2005-01-31 Gianluca Guida <glguida@gmail.com>
* pattern.c: New file.
* stow.c: Likewise.
* pattern.h: Likewise.
* stow.h: Likewise.
* Makefile (OBJS): Added pattern.o and stow.o
* node.c: Initialize variable err.
* lib.c (file_lookup): Initialize variable err.
Include <fcntl.h>.
(make_filepath, for_each_subdir, for_each_subdir_priv)
(for_each_file_priv): New function.
* lib.h (make_filepath, for_each_subdir, for_each_subdir_priv): New
declaration.
* options.c: Include "pattern.h".
Include "stow.h".
(arg_common_options): Added entries for OPT_STOW and OPT_PATTERN.
(argp_parse_common_options): Handle OPT_STOW and OPT_PATTERN case.
* options.h (OPT_PATTERN, OPT_STOW, OPT_LONG_PATTERN, OPT_LONG_STOW):
New declarations.
2003-07-05 Jeroen Dekkers <jeroen@dekkers.cx>
* Makefile: Rewrite.
* netfs.c (netfs_attempt_create_file): Unlock DIR.
(netfs_attempt_mkfile): Likewise.
2002-12-09 Moritz Schulte <moritz@duesseldorf.ccc.de>
* lib.h: Fix pointer arg.
* lib.c (dir_entries_get): Likewise.
* lib.c (dir_entries_get): Fix typo.
(dir_entries_get): Change type of data_size to size_t.
* node.c (node_entries_get): Change type of dirent_data_size to
size_t.
2002-12-08 Moritz Schulte <moritz@duesseldorf.ccc.de>
* BUGS: Remove the memory-leak bug.
* lib.c: Include <sys/mman.h>.
* node.c: Include <sys/mman.h>.
(node_entries_get): munmap dirent_data as returned by
dir_entries_get.
(node_entries_get): New variable: int dirent_data_size.
* lib.c (dir_entries_get): New argument: int *dirent_data_size.
(dir_entries_get): Do not forget to munmap DATA if something goes
wrong.
* lib.h: Update dir_entries_get declaration.
* node.c (node_create_root): call lnode_destroy, if node_create
failed, not if lnode_create failed. Reported by Richard Smith.
Copyright 2002, 2003, 2005 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification, are
permitted provided the copyright notice and this notice are preserved.
|