⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 changelog

📁 linux 内核源代码
💻
📖 第 1 页 / 共 5 页
字号:
	- Fix bug in attribute list handling.  Actually it is not as much a bug	  as too much protection in that we were not allowing attribute lists	  which waste space on disk while Windows XP clearly allows it and in	  fact creates such attribute lists so our driver was failing.	- Update NTFS documentation ready for 2.6 kernel release.2.1.4 - Reduce compiler requirements.	- Remove all uses of unnamed structs and unions in the driver to make	  old and newer gcc versions happy. Makes it a bit uglier IMO but at	  least people will stop hassling me about it.2.1.3 - Important bug fixes in corner cases.	- super.c::parse_ntfs_boot_sector(): Correct the check for 64-bit	  clusters. (Philipp Thomas)	- attrib.c::load_attribute_list(): Fix bug when initialized_size is a	  multiple of the block_size but not the cluster size. (Szabolcs	  Szakacsits)2.1.2 - Important bug fixes aleviating the hangs in statfs.	- Fix buggy free cluster and free inode determination logic.2.1.1 - Minor updates.	- Add handling for initialized_size != data_size in compressed files.	- Reduce function local stack usage from 0x3d4 bytes to just noise in	  fs/ntfs/upcase.c. (Randy Dunlap)	- Remove compiler warnings for newer gcc.	- Pages are no longer kmapped by mm/filemap.c::generic_file_write()	  around calls to ->{prepare,commit}_write.  Adapt NTFS appropriately	  in fs/ntfs/aops.c::ntfs_prepare_nonresident_write() by using	  kmap_atomic(KM_USER0).2.1.0 - First steps towards write support: implement file overwrite.	- Add configuration option for developmental write support with an	  appropriately scary configuration help text.	- Initial implementation of fs/ntfs/aops.c::ntfs_writepage() and its	  helper fs/ntfs/aops.c::ntfs_write_block(). This enables mmap(2) based	  overwriting of existing files on ntfs. Note: Resident files are	  only written into memory, and not written out to disk at present, so	  avoid writing to files smaller than about 1kiB.	- Initial implementation of fs/ntfs/aops.c::ntfs_prepare_write(), its	  helper fs/ntfs/aops.c::ntfs_prepare_nonresident_write() and their	  counterparts, fs/ntfs/aops.c::ntfs_commit_write(), and	  fs/ntfs/aops.c::ntfs_commit_nonresident_write(), respectively. Also,	  add generic_file_write() to the ntfs file operations (fs/ntfs/file.c).	  This enables write(2) based overwriting of existing files on ntfs.	  Note: As with mmap(2) based overwriting, resident files are only	  written into memory, and not written out to disk at present, so avoid	  writing to files smaller than about 1kiB.	- Implement ->truncate (fs/ntfs/inode.c::ntfs_truncate()) and	  ->setattr() (fs/ntfs/inode.c::ntfs_setattr()) inode operations for	  files with the purpose of intercepting and aborting all i_size	  changes which we do not support yet. ntfs_truncate() actually only	  emits a warning message but AFAICS our interception of i_size changes	  elsewhere means ntfs_truncate() never gets called for i_size changes.	  It is only called from generic_file_write() when we fail in	  ntfs_prepare_{,nonresident_}write() in order to discard any	  instantiated buffers beyond i_size. Thus i_size is not actually	  changed so our warning message is enough. Unfortunately it is not	  possible to easily determine if i_size is being changed or not hence	  we just emit an appropriately worded error message.2.0.25 - Small bug fixes and cleanups.	- Unlock the page in an out of memory error code path in	  fs/ntfs/aops.c::ntfs_read_block().	- If fs/ntfs/aops.c::ntfs_read_page() is called on an uptodate page,	  just unlock the page and return. (This can happen due to ->writepage	  clearing PageUptodate() during write out of MstProtected()	  attributes.	- Remove leaked write code again.2.0.24 - Cleanups.	- Treat BUG_ON() as ASSERT() not VERIFY(), i.e. do not use side effects	  inside BUG_ON(). (Adam J. Richter)	- Split logical OR expressions inside BUG_ON() into individual BUG_ON()	  calls for improved debugging. (Adam J. Richter)	- Add errors flag to the ntfs volume state, accessed via	  NVol{,Set,Clear}Errors(vol).	- Do not allow read-write remounts of read-only volumes with errors.	- Clarify comment for ntfs file operation sendfile which was added by	  Christoph Hellwig a while ago (just using generic_file_sendfile())	  to say that ntfs ->sendfile is only used for the case where the	  source data is on the ntfs partition and the destination is	  somewhere else, i.e. nothing we need to concern ourselves with.	- Add generic_file_write() as our ntfs file write operation.2.0.23 - Major bug fixes (races, deadlocks, non-i386 architectures).	- Massive internal locking changes to mft record locking. Fixes lock	  recursion and replaces the mrec_lock read/write semaphore with a	  mutex. Also removes the now superfluous mft_count. This fixes several	  race conditions and deadlocks, especially in the future write code.	- Fix ntfs over loopback for compressed files by adding an	  optimization barrier. (gcc was screwing up otherwise ?)	- Miscellaneous cleanups all over the code and a fix or two in error	  handling code paths.	Thanks go to Christoph Hellwig for pointing out the following two:	- Remove now unused function fs/ntfs/malloc.h::vmalloc_nofs().	- Fix ntfs_free() for ia64 and parisc by checking for VMALLOC_END, too.2.0.22 - Cleanups, mainly to ntfs_readdir(), and use C99 initializers.	- Change fs/ntfs/dir.c::ntfs_reddir() to only read/write ->f_pos once	  at entry/exit respectively.	- Use C99 initializers for structures.	- Remove unused variable blocks from fs/ntfs/aops.c::ntfs_read_block().2.0.21 - Check for, and refuse to work with too large files/directories/volumes.	- Limit volume size at mount time to 2TiB on architectures where	  unsigned long is 32-bits (fs/ntfs/super.c::parse_ntfs_boot_sector()).	  This is the most we can do without overflowing the 32-bit limit of	  the block device size imposed on us by sb_bread() and sb_getblk()	  for the time being.	- Limit file/directory size at open() time to 16TiB on architectures	  where unsigned long is 32-bits (fs/ntfs/file.c::ntfs_file_open() and	  fs/ntfs/dir.c::ntfs_dir_open()). This is the most we can do without	  overflowing the page cache page index.2.0.20 - Support non-resident directory index bitmaps, fix page leak in readdir.	- Move the directory index bitmap to use an attribute inode instead of	  having special fields for it inside the ntfs inode structure. This	  means that the index bitmaps now use the page cache for i/o, too,	  and also as a side effect we get support for non-resident index	  bitmaps for free.	- Simplify/cleanup error handling in fs/ntfs/dir.c::ntfs_readdir() and	  fix a page leak that manifested itself in some cases.	- Add fs/ntfs/inode.c::ntfs_put_inode(), which we need to release the	  index bitmap inode on the final iput().2.0.19 - Fix race condition, improvements, and optimizations in i/o interface.	- Apply block optimization added to fs/ntfs/aops.c::ntfs_read_block()	  to fs/ntfs/compress.c::ntfs_file_read_compressed_block() as well.	- Drop the "file" from ntfs_file_read_compressed_block().	- Rename fs/ntfs/aops.c::ntfs_enb_buffer_read_async() to	  ntfs_end_buffer_async_read() (more like the fs/buffer.c counterpart).	- Update ntfs_end_buffer_async_read() with the improved logic from	  its updated counterpart fs/buffer.c::end_buffer_async_read(). Apply	  further logic improvements to better determine when we set PageError.	- Update submission of buffers in fs/ntfs/aops.c::ntfs_read_block() to	  check for the buffers being uptodate first in line with the updated	  fs/buffer.c::block_read_full_page(). This plugs a small race	  condition.2.0.18 - Fix race condition in reading of compressed files.	- There was a narrow window between checking a buffer head for being	  uptodate and locking it in ntfs_file_read_compressed_block(). We now	  lock the buffer and then check whether it is uptodate or not.2.0.17 - Cleanups and optimizations - shrinking the ToDo list.	- Modify fs/ntfs/inode.c::ntfs_read_locked_inode() to return an error	  code and update callers, i.e. ntfs_iget(), to pass that error code	  up instead of just using -EIO.	- Modifications to super.c to ensure that both mount and remount	  cannot set any write related options when the driver is compiled	  read-only.	- Optimize block resolution in fs/ntfs/aops.c::ntfs_read_block() to	  cache the current runlist element. This should improve performance	  when reading very large and/or very fragmented data.2.0.16 - Convert access to $MFT/$BITMAP to attribute inode API.	- Fix a stupid bug introduced in 2.0.15 where we were unmapping the	  wrong inode in fs/ntfs/inode.c::ntfs_attr_iget().	- Fix debugging check in fs/ntfs/aops.c::ntfs_read_block().	- Convert $MFT/$BITMAP access to attribute inode API and remove all	  remnants of the ugly mftbmp address space and operations hack. This	  means we finally have only one readpage function as well as only one	  async io completion handler. Yey! The mft bitmap is now just an	  attribute inode and is accessed from vol->mftbmp_ino just as if it	  were a normal file. Fake inodes rule. (-:2.0.15 - Fake inodes based attribute i/o via the pagecache, fixes and cleanups.	- Fix silly bug in fs/ntfs/super.c::parse_options() which was causing	  remounts to fail when the partition had an entry in /etc/fstab and	  the entry specified the nls= option.	- Apply same macro magic used in fs/ntfs/inode.h to fs/ntfs/volume.h to	  expand all the helper functions NVolFoo(), NVolSetFoo(), and	  NVolClearFoo().	- Move copyright statement from driver initialisation message to	  module description (fs/super.c). This makes the initialisation	  message fit on one line and fits in better with rest of kernel.	- Update fs/ntfs/attrib.c::map_run_list() to work on both real and	  attribute inodes, and both for files and directories.	- Implement fake attribute inodes allowing all attribute i/o to go via	  the page cache and to use all the normal vfs/mm functionality:	  - Add ntfs_attr_iget() and its helper ntfs_read_locked_attr_inode()	    to fs/ntfs/inode.c.	  - Add needed cleanup code to ntfs_clear_big_inode().	- Merge address space operations for files and directories (aops.c),	  now just have ntfs_aops:	  - Rename:		end_buffer_read_attr_async() ->	ntfs_end_buffer_read_async(),		ntfs_attr_read_block()	     ->	ntfs_read_block(),		ntfs_file_read_page()	     ->	ntfs_readpage().	  - Rewrite fs/ntfs/aops.c::ntfs_readpage() to work on both real and	    attribute inodes, and both for files and directories.	  - Remove obsolete fs/ntfs/aops.c::ntfs_mst_readpage().2.0.14 - Run list merging code cleanup, minor locking changes, typo fixes.	- Change fs/ntfs/super.c::ntfs_statfs() to not rely on BKL by moving	  the locking out of super.c::get_nr_free_mft_records() and taking and	  dropping the mftbmp_lock rw_semaphore in ntfs_statfs() itself.	- Bring attribute runlist merging code (fs/ntfs/attrib.c) in sync with	  current userspace ntfs library code. This means that if a merge	  fails the original runlists are always left unmodified instead of	  being silently corrupted.	- Misc typo fixes.2.0.13 - Use iget5_locked() in preparation for fake inodes and small cleanups.	- Remove nr_mft_bits and the now superfluous union with nr_mft_records	  from ntfs_volume structure.	- Remove nr_lcn_bits and the now 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -