summaryrefslogtreecommitdiff
path: root/unionfs/ChangeLog
blob: d8a29618647563fe10a9c244c1bc663836ed991f (plain)
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.