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
|
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.
|