Subversion Repositories HelenOS

Rev

Go to most recent revision | Show changed files | Details | Compare with Previous | Blame | RSS feed

Filtering Options

Rev Age Author Path Log message Diff
3548 5703 d 0 h jermar /trunk/uspace/srv/fs/fat/ More fat_truncate() bits.  
3547 5703 d 0 h jermar /trunk/uspace/srv/fs/fat/ Enable fat_write().  
3546 5703 d 1 h jermar /trunk/uspace/srv/fs/fat/ Start implementing fat_truncate().  
3539 5705 d 9 h jermar /trunk/uspace/ Add block_cache_init().  
3537 5705 d 13 h jermar /trunk/uspace/ Separate the block_init() phase from reading of the boot block.  
3533 5707 d 7 h jermar /trunk/uspace/srv/fs/fat/ move comment  
3532 5707 d 7 h jermar /trunk/uspace/srv/fs/fat/ fat_read() needs to stop reading beyond the EOF.  
3530 5710 d 7 h jermar /trunk/uspace/ Setup communication parameters with the block device in block_init(). The file
system now doesn't know anything about the communication with the block device.
Rename blockread() to block_read(). The boot block is now read only once. The file
system can get access it using the block_bb_get() function.
 
3526 5711 d 0 h jermar /trunk/uspace/srv/fs/fat/ Directory size is always a multiple of BPS. Fix computation of number of
directory entries in the last block of the directory.
 
3521 5711 d 6 h jermar /trunk/uspace/ Move libfs_blockread(), block_get() and block_put() to libblock.  
3519 5711 d 8 h jermar /trunk/uspace/srv/fs/fat/ Implementation of fat_node_sync().  
3516 5711 d 10 h jermar /trunk/uspace/srv/fs/fat/ Pass the buffer holding the boot sector to the internal functions so that it
doesn't have to be block_get()'ed in each function. The idea is that the boot
block should be read by the top-level functions in fat_ops.c and passed down the
call chain.
 
3513 5712 d 3 h jermar /trunk/uspace/srv/fs/fat/ Implementation of fat_append_clusters().  
3506 5712 d 9 h jermar /trunk/uspace/srv/fs/fat/ Move functionality related to manipulatings file allocation tables to fat_fat.c.  
3505 5712 d 10 h jermar /trunk/uspace/srv/fs/fat/ Move functionality related to FAT dentries to fat_dentry.c.  
3503 5712 d 11 h jermar /trunk/uspace/srv/fs/fat/ Implementation of fat_alloc_clusters().  
3501 5713 d 3 h jermar /trunk/uspace/srv/fs/fat/ Implementation of fat_fill_gap().  
3500 5713 d 5 h jermar /trunk/uspace/srv/fs/fat/ More complete prototype of fat_write().  
3499 5713 d 8 h jermar /trunk/uspace/srv/fs/fat/ Mark progress in fat_write().  
3497 5713 d 12 h jermar /trunk/uspace/srv/fs/fat/ Dummy fat_write().  
3352 5777 d 3 h jermar /trunk/uspace/srv/ Add reference to the mounted FS root.

This makes it possible to keep the FS root logically unlinked (i.e. lnkcnt == 0)
because it prevents VFS from attempting to destroy it during closedir().
 
3335 5781 d 2 h jermar /trunk/uspace/srv/fs/fat/ Support for readdir() on FAT.  
3325 5784 d 3 h jermar /trunk/uspace/srv/fs/fat/ Determine the size of a directory node by walking the FAT and counting clusters.
This eliminates the hardcoded limit on the number of directory entries.
 
3314 5785 d 4 h jermar /trunk/uspace/srv/fs/fat/ fat_read() should expect IPC_M_DATA_READ instead of IPC_M_DATA_WRITE.  
3312 5785 d 4 h jermar /trunk/uspace/srv/fs/fat/ When removing a FAT node from the ffn list, use the correct pointer instead of
an uninitialized one.
 
3308 5787 d 2 h jermar /trunk/uspace/srv/fs/fat/ More complete fat_read().  
3307 5787 d 4 h jermar /trunk/uspace/srv/fs/fat/ Dummy implementation of fat_read().  
3282 5789 d 0 h jermar /trunk/uspace/srv/fs/fat/ FAT dentry type used for subdirectories doesn't store the directory size in the 'size' field.
Introduce a simple workaround that will let us have 64 directory entries at maximum.
 
3272 5789 d 14 h jermar /trunk/uspace/srv/fs/fat/ Several fixes for the FAT file system:
- do not copy padding during file name canonization
- properly nul-terminate the FAT file name during canonization
- compare FAT file name and the component name case insensitively
- block_get() takes a block offset, not byte offset as parameter
 
3257 5790 d 13 h jermar /trunk/uspace/srv/fs/fat/ First attempt at delivering the FAT16 read-only support.
Needless to say it doesn't work yet, but now it's only
the lurking bugs that need to be fixed.
 
3253 5792 d 1 h jermar /trunk/uspace/srv/fs/fat/ Pass block size to block_get() in the last argument.  
3119 5853 d 8 h jermar /trunk/uspace/srv/fs/fat/ Initialize in-core FAT root directory node during mount.  
3110 5854 d 3 h jermar /trunk/uspace/srv/fs/fat/ Initialize global FAT IDX structures when the FAT server starts and initialize
per-file system FAT IDX structures when a file system gets mounted.
 
2953 5874 d 2 h jermar /trunk/uspace/srv/fs/fat/ Add synchronization to fat_match().  
2951 5874 d 3 h jermar /trunk/uspace/srv/fs/fat/ Add locks to FAT index structures, FAT in-core node structures. Add futex to
protect the list of free cached FAT in-core nodes. Make fat_node_get() and
fat_node_put() and some other functions aware of these new locks.
 
2910 5879 d 7 h jermar /trunk/uspace/srv/fs/fat/ Implement fat_node_put() and remove the node from the free node list when
bumping its refernce count from zero in fat_node_get().
 
2893 5880 d 12 h jermar /trunk/uspace/srv/fs/fat/ More bits of fat_node_get().
Still needs to do some locking.
 
2891 5883 d 2 h jermar /trunk/uspace/srv/fs/fat/ New first bits of fat_node_get().  
2890 5883 d 4 h jermar /trunk/uspace/srv/fs/fat/ Need a way to locate the FAT index structure by VFS index. Also fix code that
locates the FAT index structure by position in the file system namespace.
 
2881 5887 d 7 h jermar /trunk/uspace/srv/fs/fat/ Code for de/allocation of VFS indices for FAT.