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