summaryrefslogtreecommitdiff
path: root/fatfs/ChangeLog
blob: 0de8196308acd8bb206cf5512cbe9d522c748e64 (plain)
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
2002-10-06  Marcus Brinkmann  <marcus@gnu.org>

	* main.c (diskfs_server_version): Set to HURD_VERSION.

	* dir.c (dirscanblock): Always emulate "." and ".." for the root
	dir, even on FAT32.
	(diskfs_get_directs): Likewise.  New variable DOTDOT.  Set EP to
	DOT or DOTDOT when approriate.  Implement inode number generation
	with vi_rlookup.
	Submitted by Marco Gerards <mg@friaco.nl>.

	* main.c (fetch_root): Implement this for FAT32.
	Submitted by Marco Gerards <mg@friaco.nl>.

	* fatfs.h: Renamed prototype from fat_next_cluster to
	fat_get_next_cluster.
	* fat.c (fat_extend_chain): Replace CLUSTERS_PER_CHAIN with
	CLUSTERS_PER_TABLE and LOG2_CLUSTERS_PER_CHAIN with
	LOG2_CLUSTERS_PER_TABLE.
	(fat_getcluster): Likewise.
	(fat_truncate_node): Likewise.
	Submitted by Marco Gerards <mg@friaco.nl>.

	* fat.c (fat_get_freespace): New function.
	* fat.h: New prototype for fat_get_freespace.
	* inode.c (diskfs_set_statfs): Set ST->f_bfree and ST->f_bavail.
	Submitted by Marco Gerards <mg@friaco.nl>.

	* fatfs.h: New prototypes for fs_uid and fs_gid.
	New prototype for refresh_node_stats.
	* inode.c (read_node): Set ST->st_uid to fs_uid and ST->st_gid to
	fs_gid.
	(refresh_node_stats): New function.
	* main.c: New variables default_fs_uid, default_fs_gid, fs_uid, fs_gid.
	Include <argz.h>
	(options): New variable.
	(startup_children): Likewise.
	(startup_argp): Likewise.
	(runtime_children): Likewise.
	(runtime_argp): Likewise.
	(diskfs_runtime_argp): Likewise.
	(parse_opt): New function.
	(main): Set default_fs_uid, default_fs_gid, fs_uid and fs_gid.
	Pass startup_argp to diskfs_init_main.
	Submitted by Marco Gerards <mg@friaco.nl>.

	* main.c (read_sblock): Move to ...
	* fat.c (read_sblock): ... here and rename to fat_read_sblock.  New
	variable READ.  Don't use disk_image but access store directly.
	(fat_read_sblock): Remove check for large clusters.
	* fat.c: Include <time.h>
	Submitted by Marco Gerards <mg@friaco.nl>.
	
	* fatfs.h (struct user_pager_info): Rename DISK in enum pager_type
	to FAT.
	(disk_image): Rename to fat_image and make extern.
	(host_name, mounted_on): Remove cruft.
	(sblock, dr_root_node): Make extern.
	* pager.c (create_disk_pager): Rename to create_fat_pager.  Create
	the pager with the type FAT and size of the FAT, not the whole
	disk.  Use fat_image instead disk_image.
	(pager_read_page): Replace DISK with FAT and call
	fat_pager_read_page instead disk_pager_read_page.
	(pager_write_page): Replace DISK with FAT and call
	fat_pager_write_page instead disk_pager_write_page.
	(pager_report_extent): Replace DISK with FAT and return new size.
	(disk_pager_read_page): Rename to fat_pager_read_page.  Adjusted
	to restrict to new size.  Use memset instead bcopy.  dev_end
	renamed to fat_end.  Add beginning of FAT to page.
	(disk_pager_write_page): Rename to fat_pager_write_page.  Adjusted
	to restrict to new size.  dev_end renamed to fat_end.  Add
	beginning to FAT to PAGE.
	(file_pager_read_huge_page): Use memcpy instead bcopy.
	(pending_clusters_write): Likewise.
	* fat.c (fat_write_next_cluster): Don't add the beginning of FAT
	to FAT_ENTRY_OFFSET.  Reflect renaming of disk_image to fat_image.
	(fat_get_next_cluster): Likewise.
	* main.c (main): Call fat_read_sblock, not read_block.  Call
	create_fat_pager instead create_disk_pager, and do this only after
	reading the superblock.

	* main.c (fetch_root): Use memset, not bzero.
	(read_sblock): Use memcpy, not bcopy.
	* dir.c (diskfs_get_directs): Replace bcopy with memcpy.

2002-04-15  Marcus Brinkmann  <marcus@gnu.org>

	* dir.c (diskfs_get_directs): Count the special cased DOT and
	DOTDOT directories for root directory nodes in FAT12 and FAT16
	file systems.

	* dir.c (dirscanblock): Determine the parent inode correctly.
	Submitted by Marco Gerards <mg@friaco.nl>.

	* inode.c (read_node): Add VK.dir_offset to BUF before doing the
	pointer conversion.
	(write_node): Likewise.
	Submitted by Marco Gerards <mg@friaco.nl>.
	
	* inode.c (write_node): Save the modification time as write time.
	Submitted by Marco Gerards <mg@friaco.nl>.

	* fat.h: Add prototype for fat_from_epoch().
	Submitted by Marco Gerards <mg@friaco.nl>.

	* inode.c (read_node): For the root dir of a FAT12/16 file system,
	set allocsize to size of the root directory region.
	(read_node): For files, round up to a full cluster multiple.
	Reported by Marco Gerards <mg@friaco.nl>.

2000-05-05  Marcus Brinkmann  <marcus@gnu.org>

	* Initial release.