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
3547 5726 d 14 h jermar /trunk/uspace/srv/fs/fat/ Enable fat_write().  
/trunk/uspace/srv/fs/fat/fat_ops.c
3546 5726 d 14 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 5728 d 23 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 5729 d 2 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 5730 d 20 h jermar /trunk/uspace/srv/fs/fat/ move comment  
/trunk/uspace/srv/fs/fat/fat_ops.c
3532 5730 d 20 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 5733 d 21 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 5734 d 14 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 5734 d 19 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 5734 d 21 h jermar /trunk/uspace/srv/fs/fat/ Implementation of fat_node_sync().  
/trunk/uspace/srv/fs/fat/fat_ops.c
3516 5734 d 23 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 5735 d 16 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 5735 d 22 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 5735 d 23 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 5736 d 1 h jermar /trunk/uspace/srv/fs/fat/ Implementation of fat_alloc_clusters().  
/trunk/uspace/srv/fs/fat/fat_ops.c
3501 5736 d 17 h jermar /trunk/uspace/srv/fs/fat/ Implementation of fat_fill_gap().  
/trunk/uspace/srv/fs/fat/fat_ops.c
3500 5736 d 18 h jermar /trunk/uspace/srv/fs/fat/ More complete prototype of fat_write().  
/trunk/uspace/srv/fs/fat/fat_ops.c
3499 5736 d 21 h jermar /trunk/uspace/srv/fs/fat/ Mark progress in fat_write().  
/trunk/uspace/srv/fs/fat/fat_ops.c
3497 5737 d 2 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 5800 d 16 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 5804 d 15 h jermar /trunk/uspace/srv/fs/fat/ Support for readdir() on FAT.  
/trunk/uspace/srv/fs/fat/fat_ops.c
3325 5807 d 16 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 5808 d 17 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 5808 d 17 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 5810 d 15 h jermar /trunk/uspace/srv/fs/fat/ More complete fat_read().  
/trunk/uspace/srv/fs/fat/fat_ops.c
3307 5810 d 17 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 5812 d 14 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 5813 d 3 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 5814 d 2 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 5815 d 15 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 5876 d 21 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 5877 d 16 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 5897 d 15 h jermar /trunk/uspace/srv/fs/fat/ Add synchronization to fat_match().  
/trunk/uspace/srv/fs/fat/fat_ops.c
2951 5897 d 16 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 5902 d 20 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
2893 5904 d 1 h jermar /trunk/uspace/srv/fs/fat/ More bits of fat_node_get().
Still needs to do some locking.
 
/trunk/uspace/srv/fs/fat/fat.h
/trunk/uspace/srv/fs/fat/fat_ops.c
2891 5906 d 15 h jermar /trunk/uspace/srv/fs/fat/ New first bits of fat_node_get().  
/trunk/uspace/srv/fs/fat/fat_ops.c
2890 5906 d 17 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.
 
/trunk/uspace/srv/fs/fat/fat.h
/trunk/uspace/srv/fs/fat/fat_idx.c
/trunk/uspace/srv/fs/fat/fat_ops.c
2881 5910 d 20 h jermar /trunk/uspace/srv/fs/fat/ Code for de/allocation of VFS indices for FAT.  
/trunk/uspace/srv/fs/fat/fat.h
/trunk/uspace/srv/fs/fat/fat_idx.c
/trunk/uspace/srv/fs/fat/fat_ops.c
2876 5911 d 0 h jermar /trunk/uspace/srv/fs/fat/ Add a dedicated source file for handling FAT indices.  
/trunk/uspace/srv/fs/fat/fat_idx.c
/trunk/uspace/srv/fs/fat/Makefile
/trunk/uspace/srv/fs/fat/fat.h
/trunk/uspace/srv/fs/fat/fat_ops.c