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
|
2002-06-13 Roland McGrath <roland@frob.com>
* dir.c (diskfs_lookup_hard): Cast int to intptr_t before ino_t.
* dir.c (diskfs_lookup_hard): int -> ino_t
2002-06-08 Roland McGrath <roland@frob.com>
* node.c (diskfs_cached_lookup): Use ino_t for argument.
* node.c (diskfs_alloc_node): Case to uintptr_t before ino_t.
(diskfs_cached_lookup): Likewise, and vice versa.
* dir.c (diskfs_get_directs, diskfs_lookup_hard): Likewise.
* tmpfs.c (diskfs_append_args): Use %Ld format for off_t value.
2002-05-29 Roland McGrath <roland@frob.com>
* node.c (diskfs_S_file_get_storage_info): Return a null port when the
peropen is not open for read/write. Set STORE_READONLY if O_WRITE set.
2002-05-28 Roland McGrath <roland@frob.com>
* dir.c (diskfs_get_directs): u_int -> size_t
* tmpfs.c (diskfs_append_args): unsigned -> size_t
2002-05-13 Marcus Brinkmann <marcus@gnu.org>
* tmpfs.c (diskfs_extra_version): New variable.
2002-05-03 Roland McGrath <roland@frob.com>
* tmpfs.c (startup_argp): Use OPTIONS array in initializer.
2002-03-23 Roland McGrath <roland@frob.com>
* tmpfs.c (parse_opt): Grok % suffix on number to mean percentage
of the machine's RAM.
* tmpfs.c (options): New static const variable. Add --mode/-m.
(struct option_values): New type.
(parse_opt): Use that for VALUES. Grok -m to set VALUES->mode.
Grok ARGP_KEY_FINI and free our data structure.
(tmpfs_root_mode): New variable, set by -m.
(main): If -m was given, use that instead of underlying node's
permissions.
* tmpfs.c (main): Don't release REALNODE.
* node.c: Include "default_pager_U.h", not <mach/default_pager.h>.
(diskfs_truncate): Return early if page-rounded size is unchanged.
Call default_pager_object_set_size on the memory object.
(diskfs_grow): Likewise.
* Makefile (OBJS): Add default_pagerUser.o here.
2001-09-30 Roland McGrath <roland@frob.com>
* node.c (diskfs_S_file_get_storage_info): Implement it to return
the memory object port with STORAGE_MEMORY.
2001-04-23 Neal H Walfield <neal@cs.uml.edu>
* tmpfs.c (main): Pass diskfs_demuxer to
diskfs_spawn_first_thread to conform to new libdiskfs semantics.
2001-05-05 Roland McGrath <roland@frob.com>
* node.c (diskfs_truncate): Set st_size before rounding it up,
and do set it when there is a memory object.
2001-05-01 Neal H Walfield <neal@cs.uml.edu>
* tmpfs.c (main): Set diskfs_root_node->dn_stat.st_nlink to 2.
2001-04-15 Neal H Walfield <neal@cs.uml.edu>
* dir.c (diskfs_get_directs): Total rewrite.
(diskfs_lookup_hard): Likewise.
(diskfs_enter_hard): Count node size in the size of the dirent so
diskfs_get_directs does not have to guess; this is only a few
bytes different. Check the amount of space correctly, i.e.
we cannot compare bytes and pages.
* node.c: (diskfs_free_node): We already hold
diskfs_node_refcnt_lock; do not try to lock it again.
(diskfs_cached_lookup): Use diskfs_nref, that is why we have it.
Link the nodes correctly.
(diskfs_set_translator): Add or remove S_IPTRANS from
np->dn_stat.st_mode as appropriate.
(diskfs_truncate): Set the new np->dn_stat.st_size.
(diskfs_grow): Move the assert up.
2001-04-10 Neal H Walfield <neal@cs.uml.edu>
* tmpfs.c (diskfs_shortcurt_chrdev): Rename to diskfs_shortcut_chrdev.
(diskfs_shortcurt_blkdev): Rename to diskfs_shortcut_blkdev.
(diskfs_shortcurt_fifo): Rename to diskfs_shortcut_fifo.
(diskfs_shortcurt_ifsock): Rename to diskfs_shortcut_ifsock.
2001-02-26 Roland McGrath <roland@frob.com>
* node.c (diskfs_free_node): Reset hnext's hprevp.
(diskfs_node_norefs): Likewise.
(diskfs_cached_lookup): Fix insane code for finding existing node ptr.
(diskfs_get_filemap_pager_struct): Remove spurious assert.
(diskfs_get_filemap): Always add a reference to the send right.
* dir.c (diskfs_get_directs): When using st_size, calculate additional
space for . and .. entries. Skip . and .. entries when ENTRY says to.
Set d_fileno=2 for .. entry when it is the parent of the filesystem.
* tmpfs.c (main): Don't lock diskfs_root_node after alloc,
which already locks it. In root node's mode, clear S_ITRANS bits
and set S_IROOT bit.
2001-02-25 Roland McGrath <roland@frob.com>
* pager-stubs.c: New file.
* Makefile (SRCS): Add it.
* node.c (diskfs_S_file_get_storage_info): New function.
* tmpfs.c (diskfs_synchronous): New variable.
* dir.c (diskfs_lookup_hard): Look up .. disknode's in-core node.
* node.c: #include <mach/default_pager.h>.
2000-12-30 Marcus Brinkmann <marcus@gnu.org>
* dir.c: Include <stddef.h>, <unistd.h>, <sys/mman.h>
(diskfs_get_directs): Cast *data to struct dirent *.
* node.c: Include <stddef.h>.
(diskfs_alloc_node): Remove unused variables err, st, np.
(diskfs_free_node): Use *np->dn, not *dn to calculate used space.
(recompute_blocks): Replace DT_DEV with DT_BLK.
(diskfs_node_norefs): Likewise.
(recompute_blocks): Take address of np->dn_stat for pointer st.
(diskfs_cached_lookup): New variable st.
(diskfs_cached_lookup): Set st to &np->dn_stat, not &dn->dn_stat.
(create_symlink_hook): Fix malloc call and return code check.
(read_symlink_hook): Return 0.
* tmpfs.c: Include <argp.h>, <string.h>, <inttypes.h>, <argz.h>,
<error.h>.
(parse_opt): Reverse second and third argument of strtoimax call.
* tmpfs.h (struct disknode): Remove blind passenger (unnamed copy
of anonymous struct {} reg).
Some of the above were also reported by Alexey Dejneka
<adejneka@comail.ru>.
2000-12-28 Roland McGrath <roland@frob.com>
* node.c (recompute_blocks): New function, broken out of ...
(diskfs_cached_lookup): here. Now use call that.
(diskfs_set_translator): Likewise.
(create_symlink_hook): Likewise. Do nothing for zero-length target.
2000-12-26 Roland McGrath <roland@frob.com>
* Makefile, tmpfs.c, tmpfs.h, node.c, dir.c: New files.
|