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

📄 changelog

📁 linux 内核源代码
💻
📖 第 1 页 / 共 5 页
字号:
	- Add fs/ntfs/runlist.[hc]::ntfs_get_nr_significant_bytes(),	  ntfs_get_size_for_mapping_pairs(), ntfs_write_significant_bytes(),	  and ntfs_mapping_pairs_build(), adapted from libntfs.	- Make fs/ntfs/lcnalloc.c::ntfs_cluster_free_from_rl_nolock() not	  static and add a declaration for it to lcnalloc.h.	- Add fs/ntfs/lcnalloc.h::ntfs_cluster_free_from_rl() which is a static	  inline wrapper for ntfs_cluster_free_from_rl_nolock() which takes the	  cluster bitmap lock for the duration of the call.	- Add fs/ntfs/attrib.[hc]::ntfs_attr_record_resize().	- Implement the equivalent of memset() for an ntfs attribute in	  fs/ntfs/attrib.[hc]::ntfs_attr_set() and switch	  fs/ntfs/logfile.c::ntfs_empty_logfile() to using it.	- Remove unnecessary casts from LCN_* constants.	- Implement fs/ntfs/runlist.c::ntfs_rl_truncate_nolock().	- Add MFT_RECORD_OLD as a copy of MFT_RECORD in fs/ntfs/layout.h and	  change MFT_RECORD to contain the NTFS 3.1+ specific fields.	- Add a helper function fs/ntfs/aops.c::mark_ntfs_record_dirty() which	  marks all buffers belonging to an ntfs record dirty, followed by	  marking the page the ntfs record is in dirty and also marking the vfs	  inode containing the ntfs record dirty (I_DIRTY_PAGES).	- Switch fs/ntfs/index.h::ntfs_index_entry_mark_dirty() to using the	  new helper fs/ntfs/aops.c::mark_ntfs_record_dirty() and remove the no	  longer needed fs/ntfs/index.[hc]::__ntfs_index_entry_mark_dirty().	- Move ntfs_{un,}map_page() from ntfs.h to aops.h and fix resulting	  include errors.	- Move the typedefs for runlist_element and runlist from types.h to	  runlist.h and fix resulting include errors.	- Remove unused {__,}format_mft_record() from fs/ntfs/mft.c.	- Modify fs/ntfs/mft.c::__mark_mft_record_dirty() to use the helper	  mark_ntfs_record_dirty() which also changes the behaviour in that we	  now set the buffers belonging to the mft record dirty as well as the	  page itself.	- Update fs/ntfs/mft.c::write_mft_record_nolock() and sync_mft_mirror()	  to cope with the fact that there now are dirty buffers in mft pages.	- Update fs/ntfs/inode.c::ntfs_write_inode() to also use the helper	  mark_ntfs_record_dirty() and thus to set the buffers belonging to the	  mft record dirty as well as the page itself.	- Fix compiler warnings on x86-64 in fs/ntfs/dir.c.  (Randy Dunlap,	  slightly modified by me)	- Add fs/ntfs/mft.c::try_map_mft_record() which fails with -EALREADY if	  the mft record is already locked and otherwise behaves the same way	  as fs/ntfs/mft.c::map_mft_record().	- Modify fs/ntfs/mft.c::write_mft_record_nolock() so that it only	  writes the mft record if the buffers belonging to it are dirty.	  Otherwise we assume that it was written out by other means already.	- Attempting to write outside initialized size is _not_ a bug so remove	  the bug check from fs/ntfs/aops.c::ntfs_write_mst_block().  It is in	  fact required to write outside initialized size when preparing to	  extend the initialized size.	- Map the page instead of using page_address() before writing to it in	  fs/ntfs/aops.c::ntfs_mft_writepage().	- Provide exclusion between opening an inode / mapping an mft record	  and accessing the mft record in fs/ntfs/mft.c::ntfs_mft_writepage()	  by setting the page not uptodate throughout ntfs_mft_writepage().	- Clear the page uptodate flag in fs/ntfs/aops.c::ntfs_write_mst_block()	  to ensure noone can see the page whilst the mst fixups are applied.	- Add the helper fs/ntfs/mft.c::ntfs_may_write_mft_record() which	  checks if an mft record may be written out safely obtaining any	  necessary locks in the process.  This is used by	  fs/ntfs/aops.c::ntfs_write_mst_block().	- Modify fs/ntfs/aops.c::ntfs_write_mst_block() to also work for	  writing mft records and improve its error handling in the process.	  Now if any of the records in the page fail to be written out, all	  other records will be written out instead of aborting completely.	- Remove ntfs_mft_aops and update all users to use ntfs_mst_aops.	- Modify fs/ntfs/inode.c::ntfs_read_locked_inode() to set the	  ntfs_mst_aops for all inodes which are NInoMstProtected() and	  ntfs_aops for all other inodes.	- Rename fs/ntfs/mft.c::sync_mft_mirror{,_umount}() to	  ntfs_sync_mft_mirror{,_umount}() and change their parameters so they	  no longer require an ntfs inode to be present.  Update all callers.	- Cleanup the error handling in fs/ntfs/mft.c::ntfs_sync_mft_mirror().	- Clear the page uptodate flag in fs/ntfs/mft.c::ntfs_sync_mft_mirror()	  to ensure noone can see the page whilst the mst fixups are applied.	- Remove the no longer needed fs/ntfs/mft.c::ntfs_mft_writepage() and	  fs/ntfs/mft.c::try_map_mft_record().	- Fix callers of fs/ntfs/aops.c::mark_ntfs_record_dirty() to call it	  with the ntfs inode which contains the page rather than the ntfs	  inode the mft record of which is in the page.	- Fix race condition in fs/ntfs/inode.c::ntfs_put_inode() by moving the	  index inode bitmap inode release code from there to	  fs/ntfs/inode.c::ntfs_clear_big_inode().  (Thanks to Christoph	  Hellwig for spotting this.)	- Fix race condition in fs/ntfs/inode.c::ntfs_put_inode() by taking the	  inode semaphore around the code that sets ni->itype.index.bmp_ino to	  NULL and reorganize the code to optimize it a bit.  (Thanks to	  Christoph Hellwig for spotting this.)	- Modify fs/ntfs/aops.c::mark_ntfs_record_dirty() to no longer take the	  ntfs inode as a parameter as this is confusing and misleading and the	  needed ntfs inode is available via NTFS_I(page->mapping->host).	  Adapt all callers to this change.	- Modify fs/ntfs/mft.c::write_mft_record_nolock() and	  fs/ntfs/aops.c::ntfs_write_mst_block() to only check the dirty state	  of the first buffer in a record and to take this as the ntfs record	  dirty state.  We cannot look at the dirty state for subsequent	  buffers because we might be racing with	  fs/ntfs/aops.c::mark_ntfs_record_dirty().	- Move the static inline ntfs_init_big_inode() from fs/ntfs/inode.c to	  inode.h and make fs/ntfs/inode.c::__ntfs_init_inode() non-static and	  add a declaration for it to inode.h.  Fix some compilation issues	  that resulted due to #includes and header file interdependencies.	- Simplify setup of i_mode in fs/ntfs/inode.c::ntfs_read_locked_inode().	- Add helpers fs/ntfs/layout.h::MK_MREF() and MK_LE_MREF().	- Modify fs/ntfs/mft.c::map_extent_mft_record() to only verify the mft	  record sequence number if it is specified (i.e. not zero).	- Add fs/ntfs/mft.[hc]::ntfs_mft_record_alloc() and various helper	  functions used by it.	- Update Documentation/filesystems/ntfs.txt with instructions on how to	  use the Device-Mapper driver with NTFS ftdisk/LDM raid.  This removes	  the linear raid problem with the Software RAID / MD driver when one	  or more of the devices has an odd number of sectors.2.1.20 - Fix two stupid bugs introduced in 2.1.18 release.	- Fix stupid bug in fs/ntfs/attrib.c::ntfs_attr_reinit_search_ctx()	  where we did not clear ctx->al_entry but it was still set due to	  changes in ntfs_attr_lookup() and ntfs_external_attr_find() in	  particular.	- Fix another stupid bug in fs/ntfs/attrib.c::ntfs_external_attr_find()	  where we forgot to unmap the extent mft record when we had finished	  enumerating an attribute which caused a bug check to trigger when the	  VFS calls ->clear_inode.2.1.19 - Many cleanups, improvements, and a minor bug fix.	- Update ->setattr (fs/ntfs/inode.c::ntfs_setattr()) to refuse to	  change the uid, gid, and mode of an inode as we do not support NTFS	  ACLs yet.	- Remove BKL use from ntfs_setattr() syncing up with the rest of the	  kernel.	- Get rid of the ugly transparent union in fs/ntfs/dir.c::ntfs_readdir()	  and ntfs_filldir() as per suggestion from Al Viro.	- Change '\0' and L'\0' to simply 0 as per advice from Linus Torvalds.	- Update ->truncate (fs/ntfs/inode.c::ntfs_truncate()) to check if the	  inode size has changed and to only output an error if so.	- Rename fs/ntfs/attrib.h::attribute_value_length() to ntfs_attr_size().	- Add le{16,32,64} as well as sle{16,32,64} data types to	  fs/ntfs/types.h.	- Change ntfschar to be le16 instead of u16 in fs/ntfs/types.h.	- Add le versions of VCN, LCN, and LSN called leVCN, leLCN, and leLSN,	  respectively, to fs/ntfs/types.h.	- Update endianness conversion macros in fs/ntfs/endian.h to use the	  new types as appropriate.	- Do proper type casting when using sle64_to_cpup() in fs/ntfs/dir.c	  and index.c.	- Add leMFT_REF data type to fs/ntfs/layout.h.	- Update all NTFS header files with the new little endian data types.	  Affected files are fs/ntfs/layout.h, logfile.h, and time.h.	- Do proper type casting when using ntfs_is_*_recordp() in	  fs/ntfs/logfile.c, mft.c, and super.c. 	- Fix all the sparse bitwise warnings.  Had to change all the typedef	  enums storing little endian values to simple enums plus a typedef for	  the datatype to make sparse happy.	- Fix a bug found by the new sparse bitwise warnings where the default	  upcase table was defined as a pointer to wchar_t rather than ntfschar	  in fs/ntfs/ntfs.h and super.c.	- Change {const_,}cpu_to_le{16,32}(0) to just 0 as suggested by Al Viro.2.1.18 - Fix scheduling latencies at mount time as well as an endianness bug.	- Remove vol->nr_mft_records as it was pretty meaningless and optimize	  the calculation of total/free inodes as used by statfs().	- Fix scheduling latencies in ntfs_fill_super() by dropping the BKL	  because the code itself is using the ntfs_lock semaphore which	  provides safe locking.  (Ingo Molnar)	- Fix a potential bug in fs/ntfs/mft.c::map_extent_mft_record() that	  could occur in the future for when we start closing/freeing extent	  inodes if we don't set base_ni->ext.extent_ntfs_inos to NULL after	  we free it.	- Rename {find,lookup}_attr() to ntfs_attr_{find,lookup}() as well as	  find_external_attr() to ntfs_external_attr_find() to cleanup the	  namespace a bit and to be more consistent with libntfs.	- Rename {{re,}init,get,put}_attr_search_ctx() to	  ntfs_attr_{{re,}init,get,put}_search_ctx() as well as the type	  attr_search_context to ntfs_attr_search_ctx.	- Force use of ntfs_attr_find() in ntfs_attr_lookup() when searching	  for the attribute list attribute itself.	- Fix endianness bug in ntfs_external_attr_find().	- Change ntfs_{external_,}attr_find() to return 0 on success, -ENOENT	  if the attribute is not found, and -EIO on real error.  In the case	  of -ENOENT, the search context is updated to describe the attribute	  before which the attribute being searched for would need to be	  inserted if such an action were to be desired and in the case of	  ntfs_external_attr_find() the search context is also updated to	  indicate the attribute list entry before which the attribute list	  entry of the attribute being searched for would need to be inserted	  if such an action were to be desired.  Also make ntfs_find_attr()	  static and remove its prototype from attrib.h as it is not used	  anywhere other than attrib.c.  Update ntfs_attr_lookup() and all	  callers of ntfs_{external,}attr_{find,lookup}() for the new return	  values.	- Minor cleanup of fs/ntfs/inode.c::ntfs_init_locked_inode().2.1.17 - Fix bugs in mount time error code paths and other updates.	- Implement bitmap modification code (fs/ntfs/bitmap.[hc]).  This	  includes functions to set/clear a single bit or a run of bits.	- Add fs/ntfs/attrib.[hc]::ntfs_find_vcn() which returns the locked	  runlist element containing a particular vcn.  It also takes care of	  mapping any needed runlist fragments.	- Implement cluster (de-)allocation code (fs/ntfs/lcnalloc.[hc]).	- Load attribute definition table from $AttrDef at mount time.	- Fix bugs in mount time error code paths involving (de)allocation of	  the default and volume upcase tables.	- Remove ntfs_nr_mounts as it is no longer used.2.1.16 - Implement access time updates, file sync, async io, and read/writev.	- Add support for readv/writev and aio_read/aio_write (fs/ntfs/file.c).	  This is done by setting the appropriate file operations pointers to	  the generic helper functions provided by mm/filemap.c.	- Implement fsync, fdatasync, and msync both for files (fs/ntfs/file.c)	  and directories (fs/ntfs/dir.c).	- Add support for {a,m,c}time updates to inode.c::ntfs_write_inode().	  Note, except for the root directory and any other system files opened	  by the user, the system files will not have their access times	  updated as they are only accessed at the inode level an hence the	  file level functions which cause the times to be updated are never	  invoked.2.1.15 - Invalidate quotas when (re)mounting read-write.	- Add new element itype.index.collation_rule to the ntfs inode	  structure and set it appropriately in ntfs_read_locked_inode().	- Implement a new inode type "index" to allow efficient access to the	  indices found in various system files and adapt inode handling	  accordingly (fs/ntfs/inode.[hc]).  An index inode is essentially an	  attribute inode (NInoAttr() is true) with an attribute type of	  AT_INDEX_ALLOCATION.  As such, it is no longer allowed to call	  ntfs_attr_iget() with an attribute type of AT_INDEX_ALLOCATION as

⌨️ 快捷键说明

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