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
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
|
2007-11-13 Thomas Schwinge <tschwinge@gnu.org>
* netfs.c (netfs_attempt_utimes): Adapt to ``struct stat'' changes.
2006-07-11 Samuel Thibault <samuel.thibault@ens-lyon.org>
* node.c (ftpfs_create_node): Check the result from hurd_ihash_add().
Add E to the hash table instead of NEW.
2005-06-14 Hugues Larrive <hugues.larrive@gmail.com>
* ftpfs.c (parse_startup_opt): User names may contain a @, so take
the last @ of FTPFS_REMOTE_FS.
* host.c (split_server_name): User names may contain a @, so take
the last @ of P.
2003-08-17 Marcus Brinkmann <marcus@gnu.org>
* ftpfs.h: Include <hurd/ihash.h>.
(struct ftpfs): Change type of INODE_MAPPINGS to struct
hurd_ihash.
(struct ftpfs_dir_entry): Change type of INODE_LOCP to
hurd_ihash_locp_t.
* node.c (ftpfs_create_node): Call hurd_ihash_add, not ihash_add.
(netfs_node_norefs): Call hurd_ihash_locp_remove, not
ihash_locp_remove.
* fs.c: Include <stddef.h>.
(ftpfs_create): Call hurd_ihash_init, not hurd_ihash_create.
Call hurd_ihash_destroy on error.
2002-10-18 Moritz Schulte <moritz@duesseldorf.ccc.de>
* dir.c (ftpfs_dir_lookup): Initialize NES.entry.
2002-05-13 Roland McGrath <roland@frob.com>
* dir.c (ftpfs_refresh_node): Set NODE->nn_translated appropriately.
2002-05-13 Marcus Brinkmann <marcus@gnu.org>
* ftpfs.c (netfs_server_name, netfs_server_version): New
variables.
2002-05-08 Roland McGrath <roland@frob.com>
* conn.c (ftpfs_get_ftp_conn): Cast to uintptr_t before void *.
* ftpfs.c (cntl_debug): Vice versa.
2002-04-13 Moritz Schulte <moritz@chaosdorf.de>
* ftpfs.c: Include <sys/stat.h>
(main): Stat the underlying node and initialize the root node's
stat information.
* dir.c (ftpfs_refresh_node): If refreshing the root node, simply
use the old stat information.
2002-03-11 Roland McGrath <roland@frob.com>
* ftpfs.c (parse_startup_opt): If given one argument with no :,
use "/" as the remote root.
2001-12-29 Roland McGrath <roland@frob.com>
* netfs.c (netfs_attempt_statfs): Implement this,
returning all zeros except for f_type and f_fsid.
2001-12-22 Roland McGrath <roland@frob.com>
* fs.c (ftpfs_create): Move braces around to avoid warning.
2001-02-12 Marcus Brinkmann <marcus@gnu.org>
* ftpfs.c: Include <version.h>. Add global variable
ARGP_PROGRAM_VERSION. Add period to DOC.
2001-01-07 Marcus Brinkmann <marcus@gnu.org>
* dir.c (ftpfs_dir_create): Fix last change (calloc invocation).
2000-12-21 Marcus Brinkmann <marcus@gnu.org>
* dir.c (ftpfs_dir_create): New macro INIT_HTABLE_LEN to
specify initialize htable_len. New variable htable,
allocate memory to it with calloc before acquiring a node
reference. If this fails, return any allocated memory and
return with ENOMEM. Set new->htable_len to INIT_HTABLE_LEN
and new->htable to htable. Don't bzero htable anymore, as
we use calloc.
2000-07-26 Mark Kettenis <kettenis@gnu.org>
* Makefile (HURDLIBS): Reorder libs such that the threads lib
comes before the ports lib. This makes sure the functions in
libthreads properly override the stubs in libports with the new
dynamic linker semantics in glibc 2.2.
1999-07-10 Roland McGrath <roland@baalperazim.frob.com>
* netfs.c: Add #include <sys/mman.h> for munmap decl.
* ccache.c: Likewise.
1999-07-09 Thomas Bushnell, BSG <tb@mit.edu>
* ccache.c (ccache_read): Use mmap instead of vm_allocate.
* netfs.c (get_dirents): Likewise.
1999-07-03 Thomas Bushnell, BSG <tb@mit.edu>
* ccache.c (ccache_read): Use munmap instead of vm_deallocate.
(ccache_invalidate): Likewise.
(ccache_free): Likewise.
* netfs.c (get_dirents): Likewise.
Sun Jan 31 18:33:55 1999 Thomas Bushnell, BSG <tb@mit.edu>
* netfs.c (netfs_attempt_utimes): Implement new possibility that
ATIME or MTIME might be null.
1998-10-20 Roland McGrath <roland@baalperazim.frob.com>
* ftpfs.c (netfs_append_args): Add braces to silence gcc warning.
* netfs.c (get_dirents): Likewise.
(netfs_get_dirents): Likewise.
* dir.c (ftpfs_refresh_node): Likewise.
(ftpfs_dir_lookup): Likewise.
1998-09-04 Roland McGrath <roland@baalperazim.frob.com>
* ftpfs.c (netfs_append_args): Use %ld for time_t and %Zu for size_t.
1997-09-09 Miles Bader <miles@gnu.ai.mit.edu>
* ftpfs.c (parse_runtime_opt): New function.
(runtime_argp): Use it.
(netfs_append_args): Fix printed name of --node-cache-size.
* dir.c (delete): Immediately free entries without nodes.
1997-08-29 Miles Bader <miles@gnu.ai.mit.edu>
* ftpfs.c (parse_startup_opt): Report an error if no filesystem is
supplied.
1997-08-27 Miles Bader <miles@gnu.ai.mit.edu>
* ftpfs.c (parse_common_opt): Turn on debugging when there *aren't*
any errors...
1997-08-22 Miles Bader <miles@gnu.ai.mit.edu>
* ftpfs.c (parse_common_opt): Release DEBUG_LOCK even if we get an
error.
1997-08-19 Miles Bader <miles@gnu.ai.mit.edu>
* ftpfs.c (netfs_maxsymlinks): Initialize to 12.
* ccache.c (ccache_read): Always update CC->max to something
reasonable after a transfer.
1997-08-18 Miles Bader <miles@gnu.ai.mit.edu>
* ftpfs.c (debug_stream, debug_stream_name): New variables.
(cntl_debug): Print to DEBUG_STREAM.
(debug_lock): New variable (was local to cntl_debug).
(parse_common_opt): Accept a FILE argument to --debug.
(netfs_append_args): Print FILE argument to --debug.
1997-08-15 Miles Bader <miles@gnu.ai.mit.edu>
* netfs.c (netfs_attempt_mkfile): Unlock DIR.
* dir.c (ftpfs_dir_null_lookup): New function.
(ftpfs_dir_lookup): Handle "" lookups like ".".
* ftpfs.h (ftpfs_dir_null_lookup): New declaration.
* fs.c (ftpfs_create): Use ftpfs_dir_null_lookup instead of
ftpfs_dir_lookup.
* dir.c (ftpfs_dir_lookup): Set E's name timestamp for noent entries.
(ftpfs_refresh_node): Record ENOENT entries.
(refresh_dir): Add PRESERVE_ENTRY parameter; all callers changed.
1997-08-14 Miles Bader <miles@gnu.ai.mit.edu>
* ftpfs.c (ftpfs_ftp_hooks): Use ports_self_interrupted to check
for interrupts.
* ccache.c (ccache_read): Likewise.
1997-08-12 Miles Bader <miles@gnu.ai.mit.edu>
* ftpfs.c (main): Supply the FSID argument to ftpfs_create.
* dir.c (update_entry): Set E->stat.st_fsid & st_fstype.
(ftpfs_next_inode): Variable removed.
* ftpfs.h (struct ftpfs ): Add FSID & NEXT_INODE fields.
(ftpfs_create): Add FSID parameter.
* fs.c (ftpfs_create): Add FSID parameter. Initialize FSID &
NEXT_INODE fields.
1997-08-11 Miles Bader <miles@gnu.ai.mit.edu>
* dir.c (sweep): Don't delete entries that have the NOENT flag set.
(refresh_dir): Ensure there are entries for `.' and `..'.
1997-08-09 Miles Bader <miles@gnu.ai.mit.edu>
* dir.c (struct new_entry_state): DIR_PFX & DIR_PFX_LEN fields removed.
(update_new_entry): Don't futz with NAME anymore.
* ftpfs.c (ftpfs_hooks): Initialize INTERRUPT_CHECK Field.
* ccache.c (ccache_read): Check for thread cancelation.
1997-08-08 Miles Bader <miles@gnu.ai.mit.edu>
* dir.c (update_ordered_entry): Correctly handle a non-empty list.
Only insert E in the ordered entry list if it's not already there.
(refresh_dir): Don't clear the ordered entry list.
Only reset bulk stat detection state if actually doing a bulk stat.
Initialize DFS.prev_entry_next_p instead of DFS.prev_entry.
(struct dir_fetch_state): Replace PREV_ENTRY by PREV_ENTRY_NEXT_P.
(lookup): Grow the hash table when it gets large.
(rehash): Zero the new hash table.
* dir.c (path_append): Macro removed.
(ftpfs_dir_lookup, ftpfs_refresh_node): Use ftp_conn_append_name
instead of path_append.
Don't set dir_pfx fields in RES anymore.
(update_old_entry): Don't futz with NAME anymore.
(struct refresh_entry_state): DIR_PFX & DIR_PFX_LEN fields removed.
1997-08-07 Miles Bader <miles@gnu.ai.mit.edu>
* ftpfs.c (DEFAULT_NAME_TIMEOUT): New macro.
(DEFAULT_DIR_TIMEOUT, DEFAULT_DIRENT_TIMEOUT): Macros removed.
(OPT_NAME_TIMEOUT): New macro.
(OPT_DIR_TIMEOUT, OPT_DIRENT_TIMEOUT): Macros removed.
(common_options, parse_common_opt, netfs_append_args, main):
Replace --dir-timeout & --dirent-timeout by --name-timeout.
Add --bulk-stat-period and --bulk-stat-threshold options.
(netfs_append_args): Output --debug.
* ftpfs.h (struct ftpfs_params): Remove dirent_timeout and
dir_timeout fields. Add name_timeout field.
* dir.c (ftpfs_dir_lookup): dirent_timeout parameter renamed to
name_timeout and dirent_timestamp field renamed to name_timestamp.
(lookup): Initialize timestamps.
* ftpfs.h (struct ftpfs_dir): timestamp renamed to stat_timestamp.
Add name_timestamp field.
(struct ftpfs_dir_entry): dirent_timestamp renamed to name_timestamp.
* dir.c (update_ordered_name): New function.
(refresh_dir): Use ftp_conn_get_names instead of huge wodge of code.
Update new timestamps.
1997-08-06 Miles Bader <miles@gnu.ai.mit.edu>
* dir.c (update_entry): Allow ST to be zero. Don't leak memory
when updating symlink info. Change return type to void. Remove
NO_LOCK parameter.
(update_ordered_entry, update_old_entry, update_new_entry): Update
calls to update_entry.
(refresh_dir): Add UPDATE_STATS parameter, and only fetch names if
it's zero.
(ftpfs_dir_refresh, ftpfs_refresh_node, ftpfs_dir_lookup): Supply
UPDATE_STATS argument to refresh_dir.
* host.c (split_server_name): Enable password parsing.
* dir.c (lookup): Initialize the NODE field.
|