Subversion Repositories HelenOS

Rev

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

Filtering Options

Rev Age Author Path Log message Diff Changes
3574 5711 d 21 h jermar /trunk/uspace/srv/fs/fat/ Move common code to dedicated functions so that it can be easily reused.  
/trunk/uspace/srv/fs/fat/fat_idx.c
/trunk/uspace/srv/fs/fat/fat_ops.c
3573 5711 d 23 h jermar /trunk/uspace/srv/fs/fat/ VFS_WRITE has two return arguments on success.  
/trunk/uspace/srv/fs/fat/fat_fat.c
/trunk/uspace/srv/fs/fat/fat_ops.c
3572 5712 d 1 h jermar /trunk/uspace/srv/fs/fat/ Finish implementation of fat_truncate() and fix several warnings.  
/trunk/uspace/srv/fs/fat/fat_fat.c
/trunk/uspace/srv/fs/fat/fat_fat.h
/trunk/uspace/srv/fs/fat/fat_ops.c
3550 5715 d 20 h jermar /trunk/uspace/srv/fs/fat/ Extend _fat_blcks_get() to fat_cluster_walk(). Use fat_cluster_walk() to
implement fat_clusters_get() and _fat_block_get().
 
/trunk/uspace/srv/fs/fat/fat_fat.c
/trunk/uspace/srv/fs/fat/fat_fat.h
/trunk/uspace/srv/fs/fat/fat_ops.c
3548 5716 d 19 h jermar /trunk/uspace/srv/fs/fat/ More fat_truncate() bits.  
/trunk/uspace/srv/fs/fat/fat_ops.c
3547 5716 d 20 h jermar /trunk/uspace/srv/fs/fat/ Enable fat_write().  
/trunk/uspace/srv/fs/fat/fat_ops.c
3546 5716 d 20 h jermar /trunk/uspace/srv/fs/fat/ Start implementing fat_truncate().  
/trunk/uspace/srv/fs/fat/fat.c
/trunk/uspace/srv/fs/fat/fat.h
/trunk/uspace/srv/fs/fat/fat_ops.c
3539 5719 d 4 h jermar /trunk/uspace/ Add block_cache_init().  
/trunk/uspace/lib/libblock/libblock.c
/trunk/uspace/lib/libblock/libblock.h
/trunk/uspace/srv/fs/fat/fat_ops.c
3537 5719 d 8 h jermar /trunk/uspace/ Separate the block_init() phase from reading of the boot block.  
/trunk/uspace/lib/libblock/libblock.c
/trunk/uspace/lib/libblock/libblock.h
/trunk/uspace/srv/fs/fat/fat_ops.c
/trunk/uspace/srv/fs/tmpfs/tmpfs_dump.c
3533 5721 d 2 h jermar /trunk/uspace/srv/fs/fat/ move comment  
/trunk/uspace/srv/fs/fat/fat_ops.c
3532 5721 d 2 h jermar /trunk/uspace/srv/fs/fat/ fat_read() needs to stop reading beyond the EOF.  
/trunk/uspace/srv/fs/fat/fat_ops.c
3530 5724 d 2 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.
 
/trunk/uspace/lib/libblock/libblock.c
/trunk/uspace/lib/libblock/libblock.h
/trunk/uspace/lib/libc/include/errno.h
/trunk/uspace/srv/fs/fat/Makefile
/trunk/uspace/srv/fs/fat/fat.h
/trunk/uspace/srv/fs/fat/fat_ops.c
/trunk/uspace/srv/fs/tmpfs/Makefile
/trunk/uspace/srv/fs/tmpfs/tmpfs_dump.c
3526 5724 d 19 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.
 
/trunk/uspace/srv/fs/fat/fat_ops.c
3521 5725 d 1 h jermar /trunk/uspace/ Move libfs_blockread(), block_get() and block_put() to libblock.  
/trunk/uspace/lib/libblock
/trunk/uspace/lib/libblock/Makefile
/trunk/uspace/lib/libblock/libblock.c
/trunk/uspace/lib/libblock/libblock.h
/trunk/uspace/Makefile
/trunk/uspace/lib/libfs/libfs.c
/trunk/uspace/lib/libfs/libfs.h
/trunk/uspace/srv/fs/fat/Makefile
/trunk/uspace/srv/fs/fat/fat.h
/trunk/uspace/srv/fs/fat/fat_fat.c
/trunk/uspace/srv/fs/fat/fat_ops.c
/trunk/uspace/srv/fs/tmpfs/Makefile
/trunk/uspace/srv/fs/tmpfs/tmpfs_dump.c
3519 5725 d 3 h jermar /trunk/uspace/srv/fs/fat/ Implementation of fat_node_sync().  
/trunk/uspace/srv/fs/fat/fat_ops.c
3516 5725 d 5 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.
 
/trunk/uspace/srv/fs/fat/fat.h
/trunk/uspace/srv/fs/fat/fat_fat.c
/trunk/uspace/srv/fs/fat/fat_fat.h
/trunk/uspace/srv/fs/fat/fat_ops.c
3513 5725 d 22 h jermar /trunk/uspace/srv/fs/fat/ Implementation of fat_append_clusters().  
/trunk/uspace/srv/fs/fat/fat_fat.c
/trunk/uspace/srv/fs/fat/fat_fat.h
/trunk/uspace/srv/fs/fat/fat_ops.c
3506 5726 d 4 h jermar /trunk/uspace/srv/fs/fat/ Move functionality related to manipulatings file allocation tables to fat_fat.c.  
/trunk/uspace/srv/fs/fat/fat.h
/trunk/uspace/srv/fs/fat/fat_fat.c
/trunk/uspace/srv/fs/fat/fat_fat.h
/trunk/uspace/srv/fs/fat/fat_ops.c
3505 5726 d 5 h jermar /trunk/uspace/srv/fs/fat/ Move functionality related to FAT dentries to fat_dentry.c.  
/trunk/uspace/srv/fs/fat/fat.h
/trunk/uspace/srv/fs/fat/fat_dentry.c
/trunk/uspace/srv/fs/fat/fat_dentry.h
/trunk/uspace/srv/fs/fat/fat_ops.c
3503 5726 d 7 h jermar /trunk/uspace/srv/fs/fat/ Implementation of fat_alloc_clusters().  
/trunk/uspace/srv/fs/fat/fat_ops.c
3501 5726 d 22 h jermar /trunk/uspace/srv/fs/fat/ Implementation of fat_fill_gap().  
/trunk/uspace/srv/fs/fat/fat_ops.c
3500 5727 d 0 h jermar /trunk/uspace/srv/fs/fat/ More complete prototype of fat_write().  
/trunk/uspace/srv/fs/fat/fat_ops.c
3499 5727 d 3 h jermar /trunk/uspace/srv/fs/fat/ Mark progress in fat_write().  
/trunk/uspace/srv/fs/fat/fat_ops.c
3497 5727 d 7 h jermar /trunk/uspace/srv/fs/fat/ Dummy fat_write().  
/trunk/uspace/srv/fs/fat/fat.c
/trunk/uspace/srv/fs/fat/fat.h
/trunk/uspace/srv/fs/fat/fat_ops.c
3352 5790 d 22 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().
 
/trunk/uspace/srv/fs/fat/fat_ops.c
/trunk/uspace/srv/fs/tmpfs/tmpfs_ops.c
/trunk/uspace/srv/vfs/vfs_ops.c
3335 5794 d 21 h jermar /trunk/uspace/srv/fs/fat/ Support for readdir() on FAT.  
/trunk/uspace/srv/fs/fat/fat_ops.c
3325 5797 d 22 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.
 
/trunk/uspace/srv/fs/fat/fat_ops.c
3314 5798 d 23 h jermar /trunk/uspace/srv/fs/fat/ fat_read() should expect IPC_M_DATA_READ instead of IPC_M_DATA_WRITE.  
/trunk/uspace/srv/fs/fat/fat_ops.c
3312 5798 d 23 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.
 
/trunk/uspace/srv/fs/fat/fat_ops.c
3308 5800 d 21 h jermar /trunk/uspace/srv/fs/fat/ More complete fat_read().  
/trunk/uspace/srv/fs/fat/fat_ops.c
3307 5800 d 23 h jermar /trunk/uspace/srv/fs/fat/ Dummy implementation of fat_read().  
/trunk/uspace/srv/fs/fat/fat.c
/trunk/uspace/srv/fs/fat/fat.h
/trunk/uspace/srv/fs/fat/fat_ops.c
3282 5802 d 20 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.
 
/trunk/uspace/srv/fs/fat/fat_ops.c
3272 5803 d 9 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
 
/trunk/uspace/srv/fs/fat/fat_ops.c
3257 5804 d 8 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.
 
/trunk/uspace/srv/fs/fat/fat_ops.c
3253 5805 d 20 h jermar /trunk/uspace/srv/fs/fat/ Pass block size to block_get() in the last argument.  
/trunk/uspace/srv/fs/fat/fat_ops.c
3119 5867 d 3 h jermar /trunk/uspace/srv/fs/fat/ Initialize in-core FAT root directory node during mount.  
/trunk/uspace/srv/fs/fat/fat_ops.c
3110 5867 d 22 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.
 
/trunk/uspace/srv/fs/fat/fat.c
/trunk/uspace/srv/fs/fat/fat.h
/trunk/uspace/srv/fs/fat/fat_idx.c
/trunk/uspace/srv/fs/fat/fat_ops.c
2953 5887 d 21 h jermar /trunk/uspace/srv/fs/fat/ Add synchronization to fat_match().  
/trunk/uspace/srv/fs/fat/fat_ops.c
2951 5887 d 22 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.
 
/trunk/uspace/srv/fs/fat/fat.h
/trunk/uspace/srv/fs/fat/fat_idx.c
/trunk/uspace/srv/fs/fat/fat_ops.c
2910 5893 d 2 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().
 
/trunk/uspace/srv/fs/fat/fat_ops.c