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