📄 changelog
字号:
(wrapfs_parse_options): determine and store hidden_mnt * inode.c (wrapfs_readlink): return -EINVAL instead of -EPERM if the hidden inode doesn't support readlink (wrapfs_follow_link): changed return type, use vfs_follow_link (wrapfs_iops_symlink): new inode_operations structure, used only for symlinks * aux.c (wrapfs_idx_open), file.c (wrapfs_open): pass hidden_mnt to dentry_open * aux.c (fist_lookup, wrapfs_idx_lookup), inode.c (wrapfs_lookup): use lookup_one instead of lookup_dentry2000-04-23 Ion Badulescu <ib42@earth.cs.columbia.edu> * Changed index handling routines to allocate memory as whole pages2000-04-23 Erez Zadok <ezk@earth.cs.columbia.edu> * doit.sh (PATH): don't force insmod with '-f' to insert the module. Too dangerous. * make all kfree() use kfree_s() as much as possible (presumably kfree_s is faster). * rename functions that may conflict with similar other modules to wrapfs_*. * Makefile-4-kernel: new file, a file systems specific Linux kernel makefile you can drop into a Linux kernel source tree. * *.c: include local headers with "foo.h" quotes not <foo.h> * wrapfs.h: simple optional code to count number of writes and number of writes in the middle.2000-04-22 Ion Badulescu <ib42@earth.cs.columbia.edu> * inode.c (wrapfs_unlink): fixes for cases when files get removed from under us2000-04-18 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> * file.c (wrapfs_ioctl): return 0 or 1 for fast-tail flag.2000-04-18 Ion Badulescu <ib42@earth.cs.columbia.edu> * fast tails work, other bugs fixed2000-04-16 Ion Badulescu <ib42@earth.cs.columbia.edu> * mmap.c: added initial untested support for fast tails, probably broke everything else in the process :-); added kmap/kunmap calls where necessary * aux.c (wrapfs_idx_read/write): read flags from the disk, write them back; remove modified flag, integrate with the other flags2000-04-15 Erez Zadok <ezk@vir.cs.columbia.edu> * fist_ioctl.c (main): -d option now must be used for set/get debugging value. new -f option can be used to set/get the global fast-tail flag.2000-04-15 Ion Badulescu <ib42@earth.cs.columbia.edu> * inode.c (wrapfs_rmdir, wrapfs_unlink): fixed it so that deleting an open file works correctly (wrapfs_permission): check for read-only filesystem2000-04-14 Johan M. Andersen <johan@beetle.mcl.cs.columbia.edu> * aux.c: remove wrapfs_encode_buffer and wrapfs_decode_buffer, they are algorithm specific.2000-04-14 Ion Badulescu <ib42@earth.cs.columbia.edu> * vm_area.c: ifdef'ed out the entire code * inode.c (wrapfs_unlink): don't complain if symlinks don't have index files (wrapfs_readlink): removed bogus dprint() which could result in a bad page fault since the strings wasn't null-terminated; removed old versions of truncate and enlarge; moved get1page to aux.c * file.c (wrapfs_mmap): ifdef'ed out, not needed * aux.c (get1page): moved here from mmap.c; made idx_* calls non-static as they are called from other files * Makefile (O_OBJS): removed vm_area.o2000-04-13 Johan M. Andersen <johan@vir.cs.columbia.edu> * inode.c (wrapfs_rename): Move the index file as well as the target file. (wrapfs_link): Link the index file as well as the target file2000-04-13 Ion Badulescu <ib42@earth.cs.columbia.edu> * mmap.c (wrapfs_commit_write): fixed calls to shift_*; fixed size of hidden_inode after shifting * inode.c (wrapfs_unlink): fixed the logic in unlink, it's still wrong and ocassionally screws up but it's better than before * file.c (wrapfs_filldir): commented out a fist_dprint call, it can go wild on strings that are not zero-terminated * aux.c (wrapfs_sca_set_entry): fixed hole support, moved sanity check down so it won't complain needlessly2000-04-08 Erez Zadok <ezk@earth.cs.columbia.edu> * basic writing of file and index table works for one page only, the first page.2000-04-08 Erez Zadok <ezk@vir.cs.columbia.edu> * mmap.c (wrapfs_readpage): call readpage() again if we returned from wait_on_page with a page that's not up-to-date; that can happen when a partial page has a few buffers which are ok, but not the whole page.2000-04-07 Johan M. Andersen <johan@vir.cs.columbia.edu> * wrapfs.h (HIDDEN_PAGE_STARTING_OFFSET): Add macros for hidden page info (length and start offset)2000-04-06 Erez Zadok <ezk@vir.cs.columbia.edu> * print.c (fist_print_scafs_header): new routine to print contents of an SCA header. * convert scafs_hdr part of the private inode data to be a real structure, not a malloc'ed one, since we always need to allocate it anyway.2000-04-06 Johan M. Andersen <johan@vir.cs.columbia.edu> * aux.c (wrapfs_sca_read_idx): Add sanity checks to ensure the index file isn't corrupted. * main.c (wrapfs_interpose): move igrab before index-file read so we can reference underlying file in read_idx (wrapfs_interpose): Fix to out_iput by Ion to iput the hidden inode and un-interpose the upper-level inode for non-existing files.2000-04-06 Erez Zadok <ezk@vir.cs.columbia.edu> * aux.c (krealloc): an in-kernel realloc routine. (wrapfs_sca_add_entry): routine to add one more "entry" into an existing in-memory Index Table (IT) header structure.2000-04-06 Johan M. Andersen <johan@vir.cs.columbia.edu> * aux.c (wrapfs_decode_buffers): Fix CVS Breakage, comment (wrapfs_decode_buffers): Make zlib usage match usage in wrapfs_encode_buffers * aux.c (wrapfs_encode_buffers): Fill out and comment2000-04-06 Erez Zadok <ezk@vir.cs.columbia.edu> * main.c (wrapfs_interpose): put back old code; assertion that hidden dentry may be NULL isn't always true. (wrapfs_interpose): when new files are created, the parent hidden inode is locked, and we cannot and shouldn't call sca_read_idx, because it will do a lookup in the same directory and will deadlock.2000-04-05 Johan M. Andersen <johan@vir.cs.columbia.edu> * aux.c (wrapfs_decode_buffers): Move check for full buffers to after the call to inflate. This allows zlib to finish its checksums/etc even though it reports no space left in the output buffer. 2000-04-05 Erez Zadok <ezk@vir.cs.columbia.edu> * inode.c (wrapfs_unlink): remove .idx file before removing main file. * wrapfs.h (INDEX_EXTENSION): define INDEX_EXTENSION here * aux.c (wrapfs_sca_read_idx): if index file does not exist, return ENOENT on looking up main file.2000-04-04 Erez Zadok <ezk@whitestar.cs.columbia.edu> * file.c (wrapfs_filldir): skip listing .idx files.2000-04-03 Ion Badulescu <ib42@moisil.cs.columbia.edu> * wrapfs.h (CURRENT_HIDDEN_PAGEINDEX): fixed silly error which was corrupting data when crossing lower page boundary * mmap.c (wrapfs_readpage): return errors from decode_buffers() * main.c (wrapfs_interpose): reorganized, avoid leaking inodes/dentries on error conditions * aux.c (wrapfs_sca_read_idx): dput the idx_dentry if the index files doesn't exist (wrapfs_decode_buffers): debugging, return consistent error codes * fist.h (print_exit_pointer): new debugging macro * wrapfs.h: changed type of scafs_header.read_size from loff_t to off_t (64 to 32 bits). Note that this will still break on a big-endian platform. (copy_inode_size): fixed calculation of i_blocks * mmap.c (wrapfs_readpage): sanity check: exit if there are no pages needed2000-04-02 Ion Badulescu <ib42@moisil.cs.columbia.edu> * mmap.c (wrapfs_readpage): reinit CURRENT_HIDDEN_PAGE to NULL if error * aux.c (wrapfs_sca_read_idx): changed index table algorithm (wrapfs_count_hidden_pages): implemented (wrapfs_decode_buffers): implemented, currently buggy [all the above is Johan's work] * wrapfs.h (copy_inode_size): compute the different file size and blocks in case of SCA filesystems * main.c, super.c: don't call iget() in read_inode(), instead do the interposition where it should be done: in interpose, by calling igrab() (wrapfs_interpose): read index file if SCA filesystem * mmap.c (wrapfs_readpage): added incipient support for SCA2000-04-02 Johan M. Andersen <johan@vir.cs.columbia.edu> * aux.c (wrapfs_sca_read_idx) reads an index-file into memory2000-04-01 Erez Zadok <ezk@earth.cs.columbia.edu> * aux.c (wrapfs_write_file,wrapfs_read_file): fixed "aclfs" typo.2000-04-01 Erez Zadok <ezk@beetle.mcl.cs.columbia.edu> * aux.c: placeholder for SCA/gzipfs code * Makefile (${O_OBJS}): depend on optional included headers2000-04-01 Erez Zadok <ezk@earth.cs.columbia.edu> * inode.c (wrapfs_mkdir,wrapfs_mknod): eliminate unused label (wrapfs_symlink): don't need hidden_symname2000-03-26 Ion Badulescu <ib42@earth.cs.columbia.edu> * inode.c (wrapfs_setattr): unconditionally copy attributes from lower inode moved debugging code around * fist.h: removed declaration of fist_mod_dec_use_count() * file.c: moved debugging code around * Makefile: removed comment2000-03-25 Ion Badulescu <ib42@beetle.mcl.cs.columbia.edu> * debug code rearranged, some deleted2000-03-25 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> * mmap.c (wrapfs_commit_write): unlock our page (and don't hang) if the lower file system is full. (wrapfs_commit_write): propagate errors correctly (so we handle a full file system etc.)2000-03-24 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> * mmap.c (wrapfs_prepare_write): added struct file pointer to this function, to be in stnc with commit_write. Change in 2.3.99-pre3.2000-03-20 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> * major updates for 2.3.99-pre1, but there are still bugs.2000-03-18 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> * main.c (wrapfs_read_super): no need to un/lock our superblock, and no need to mainain module count increment/decrement. New module un/loading style. * super.c (wrapfs_statfs): call vfs_statfs. no need to pass bufsize to us or vfs_statfs.2000-03-09 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> * make sure the number of links, and inode/block count of the f/s are kept in sync w/ the lower f/s, and they are updated upon unlink, rmdir, rename, mkdir, etc.2000-03-06 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> * updates for 2.3.49.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -