浏览代码

NTFS: Add AT_EA in addition to AT_DATA to whitelist for being allowed to be
non-resident in fs/ntfs/attrib.c::ntfs_attr_can_be_non_resident().

Signed-off-by: Anton Altaparmakov <aia21@cantab.net>

Anton Altaparmakov 21 年之前
父节点
当前提交
7e693073a9
共有 2 个文件被更改,包括 6 次插入3 次删除
  1. 2 0
      fs/ntfs/ChangeLog
  2. 4 3
      fs/ntfs/attrib.c

+ 2 - 0
fs/ntfs/ChangeLog

@@ -88,6 +88,8 @@ ToDo/Notes:
 	  checked and set in the ntfs inode as done for compressed files and
 	  checked and set in the ntfs inode as done for compressed files and
 	  the compressed size needs to be used for vfs inode->i_blocks instead
 	  the compressed size needs to be used for vfs inode->i_blocks instead
 	  of the allocated size, again, as done for compressed files.
 	  of the allocated size, again, as done for compressed files.
+	- Add AT_EA in addition to AT_DATA to whitelist for being allowed to
+	  be non-resident in fs/ntfs/attrib.c::ntfs_attr_can_be_non_resident().
 
 
 2.1.22 - Many bug and race fixes and error handling improvements.
 2.1.22 - Many bug and race fixes and error handling improvements.
 
 

+ 4 - 3
fs/ntfs/attrib.c

@@ -1049,10 +1049,11 @@ int ntfs_attr_can_be_non_resident(const ntfs_volume *vol, const ATTR_TYPE type)
 	ATTR_DEF *ad;
 	ATTR_DEF *ad;
 
 
 	/*
 	/*
-	 * $DATA is always allowed to be non-resident even if $AttrDef does not
-	 * specify this in the flags of the $DATA attribute definition record.
+	 * $DATA and $EA are always allowed to be non-resident even if $AttrDef
+	 * does not specify this in the flags of the $DATA attribute definition
+	 * record.
 	 */
 	 */
-	if (type == AT_DATA)
+	if (type == AT_DATA || type == AT_EA)
 		return 0;
 		return 0;
 	/* Find the attribute definition record in $AttrDef. */
 	/* Find the attribute definition record in $AttrDef. */
 	ad = ntfs_attr_find_in_attrdef(vol, type);
 	ad = ntfs_attr_find_in_attrdef(vol, type);