Lines Matching full:attribute
28 * Compare the ntfs attribute embedded in the ntfs specific part of the vfs
29 * inode @vi for equality with the ntfs attribute @data.
53 /* A fake inode describing an attribute. */ in ntfs_test_inode()
74 * Initialize the vfs inode @vi with the values from the ntfs attribute @data in
187 * ntfs_attr_iget - obtain a struct inode corresponding to an attribute
188 * @base_vi: vfs base inode containing the attribute
189 * @type: attribute type
190 * @name: Unicode name of the attribute (NULL if unnamed)
193 * Obtain the (fake) struct inode corresponding to the attribute specified by
197 * If the attribute inode is in the cache, it is just returned with an
200 * attribute and fill in the inode structure.
205 * Return the struct inode of the attribute inode on success. Check the return
236 * There is no point in keeping bad attribute inodes around. This also in ntfs_attr_iget()
237 * simplifies things in that we never need to check for bad attribute in ntfs_attr_iget()
364 "Failed to free attribute clusters. Leaving inconsistent metadata.\n"); in ntfs_non_resident_dealloc_clusters()
440 * The attribute runlist lock has separate locking rules from the
521 * @ctx: initialized attribute search context
523 * Search all file name attributes in the inode described by the attribute
561 "Corrupt file name attribute. You should run chkdsk."); in ntfs_is_extended_system_file()
584 /* This attribute is ok, but is it in the $Extend directory? */ in ntfs_is_extended_system_file()
745 * Find the standard information attribute in the mft record. At this in ntfs_read_locked_inode()
746 * stage we haven't setup the attribute list stuff yet, so this could in ntfs_read_locked_inode()
755 ntfs_error(vi->i_sb, "$STANDARD_INFORMATION attribute is missing."); in ntfs_read_locked_inode()
759 /* Get the standard information attribute value. */ in ntfs_read_locked_inode()
789 /* Find the attribute list attribute if present. */ in ntfs_read_locked_inode()
794 ntfs_error(vi->i_sb, "Failed to lookup attribute list attribute."); in ntfs_read_locked_inode()
800 ntfs_debug("Attribute list found in inode 0x%llx.", ni->mft_no); in ntfs_read_locked_inode()
805 "Attribute list attribute is compressed."); in ntfs_read_locked_inode()
812 "Non-resident attribute list attribute is encrypted/sparse."); in ntfs_read_locked_inode()
816 …"Resident attribute list attribute in inode 0x%llx is marked encrypted/sparse which is not true. … in ntfs_read_locked_inode()
819 /* Now allocate memory for the attribute list. */ in ntfs_read_locked_inode()
828 "Not enough memory to allocate buffer for attribute list."); in ntfs_read_locked_inode()
835 ntfs_error(vi->i_sb, "Attribute list has non zero lowest_vcn."); in ntfs_read_locked_inode()
839 /* Now load the attribute list. */ in ntfs_read_locked_inode()
842 ntfs_error(vi->i_sb, "Failed to load attribute list attribute."); in ntfs_read_locked_inode()
846 /* Now copy the attribute list. */ in ntfs_read_locked_inode()
888 * If an attribute list is present we now have the attribute list value in ntfs_read_locked_inode()
896 /* It is a directory, find index root attribute. */ in ntfs_read_locked_inode()
902 ntfs_error(vi->i_sb, "$INDEX_ROOT attribute is missing."); in ntfs_read_locked_inode()
909 "$INDEX_ROOT attribute is not resident."); in ntfs_read_locked_inode()
912 /* Ensure the attribute name is placed before the value. */ in ntfs_read_locked_inode()
916 "$INDEX_ROOT attribute name is placed after the attribute value."); in ntfs_read_locked_inode()
931 ntfs_error(vi->i_sb, "Found encrypted and compressed attribute."); in ntfs_read_locked_inode()
953 ntfs_error(vi->i_sb, "Indexed attribute is not zero."); in ntfs_read_locked_inode()
958 ntfs_error(vi->i_sb, "Indexed attribute is not $FILE_NAME."); in ntfs_read_locked_inode()
1004 /* Setup the index allocation attribute, even if not present. */ in ntfs_read_locked_inode()
1024 /* Setup the data attribute, even if not present. */ in ntfs_read_locked_inode()
1029 /* Find first extent of the unnamed data attribute. */ in ntfs_read_locked_inode()
1035 ntfs_error(vi->i_sb, "Failed to lookup $DATA attribute."); in ntfs_read_locked_inode()
1040 * attribute, so we special case it here. in ntfs_read_locked_inode()
1070 ntfs_error(vi->i_sb, "$DATA attribute is missing, err : %d", err); in ntfs_read_locked_inode()
1150 "First extent of $DATA attribute has non zero lowest_vcn."); in ntfs_read_locked_inode()
1156 } else { /* Resident attribute. */ in ntfs_read_locked_inode()
1164 "Resident data attribute is corrupt (size exceeds allocation)."); in ntfs_read_locked_inode()
1218 * ntfs_read_locked_attr_inode - read an attribute inode from its base inode
1220 * @vi: attribute inode to read
1223 * attribute inode described by @vi into memory from the base mft record
1227 * reading and looks up the attribute described by @vi before setting up the
1273 /* Find the attribute. */ in ntfs_read_locked_attr_inode()
1286 "Found compressed non-data or named data attribute."); in ntfs_read_locked_attr_inode()
1291 "Found compressed attribute but compression is disabled due to cluster size (%i) > 4kiB.", in ntfs_read_locked_attr_inode()
1307 "Found mst protected attribute but the attribute is %s.", in ntfs_read_locked_attr_inode()
1327 "Found mst protected attribute but the attribute is encrypted."); in ntfs_read_locked_attr_inode()
1332 "Found encrypted non-data attribute."); in ntfs_read_locked_attr_inode()
1339 /* Ensure the attribute name is placed before the value. */ in ntfs_read_locked_attr_inode()
1343 "Attribute name is placed after the attribute value."); in ntfs_read_locked_attr_inode()
1348 "Found mst protected attribute but the attribute is resident."); in ntfs_read_locked_attr_inode()
1357 "Resident attribute is corrupt (size exceeds allocation)."); in ntfs_read_locked_attr_inode()
1363 * Ensure the attribute name is placed before the mapping pairs in ntfs_read_locked_attr_inode()
1370 "Attribute name is placed after the mapping pairs array."); in ntfs_read_locked_attr_inode()
1398 ntfs_error(vi->i_sb, "First extent of attribute has non-zero lowest_vcn."); in ntfs_read_locked_attr_inode()
1412 * attribute inode. in ntfs_read_locked_attr_inode()
1436 …"Failed with error code %i while reading attribute inode (mft_no 0x%llx, type 0x%x, name_len %i). … in ntfs_read_locked_attr_inode()
1458 * Note, index inodes are essentially attribute inodes (NInoAttr() is true)
1459 * with the attribute type set to AT_INDEX_ALLOCATION. Apart from that, they
1462 * for small indices the index allocation attribute might not actually exist.
1463 * However, the index root attribute always exists but this does not need to
1465 * index. Also, like for directories, we need to have an attribute inode for
1466 * the bitmap attribute corresponding to the index allocation attribute and we
1514 /* Find the index root attribute. */ in ntfs_read_locked_index_inode()
1519 ntfs_error(vi->i_sb, "$INDEX_ROOT attribute is missing."); in ntfs_read_locked_index_inode()
1525 ntfs_error(vol->sb, "$INDEX_ROOT attribute is not resident."); in ntfs_read_locked_index_inode()
1528 /* Ensure the attribute name is placed before the value. */ in ntfs_read_locked_index_inode()
1532 "$INDEX_ROOT attribute name is placed after the attribute value."); in ntfs_read_locked_index_inode()
1576 /* Find index allocation attribute. */ in ntfs_read_locked_index_inode()
1591 ntfs_error(vi->i_sb, "Failed to lookup $INDEX_ALLOCATION attribute."); in ntfs_read_locked_index_inode()
1600 ntfs_error(vi->i_sb, "$INDEX_ALLOCATION attribute is resident."); in ntfs_read_locked_index_inode()
1604 * Ensure the attribute name is placed before the mapping pairs array. in ntfs_read_locked_index_inode()
1609 "$INDEX_ALLOCATION attribute name is placed after the mapping pairs array."); in ntfs_read_locked_index_inode()
1613 ntfs_error(vi->i_sb, "$INDEX_ALLOCATION attribute is encrypted."); in ntfs_read_locked_index_inode()
1617 ntfs_error(vi->i_sb, "$INDEX_ALLOCATION attribute is sparse."); in ntfs_read_locked_index_inode()
1622 "$INDEX_ALLOCATION attribute is compressed."); in ntfs_read_locked_index_inode()
1627 "First extent of $INDEX_ALLOCATION attribute has non zero lowest_vcn."); in ntfs_read_locked_index_inode()
1641 /* Get the index bitmap attribute inode. */ in ntfs_read_locked_index_inode()
1644 ntfs_error(vi->i_sb, "Failed to get bitmap attribute."); in ntfs_read_locked_index_inode()
1652 "$BITMAP attribute is compressed and/or encrypted and/or sparse."); in ntfs_read_locked_index_inode()
1698 * load_attribute_list_mount - load an attribute list into memory
1700 * @rl: runlist of the attribute list
1703 * @initialized_size: initialized size of the attribute list
1740 /* The attribute list cannot be sparse. */ in load_attribute_list_mount()
1742 ntfs_error(sb, "ntfs_rl_vcn_to_lcn() failed. Cannot read attribute list."); in load_attribute_list_mount()
1755 ntfs_error(sb, "Cannot read attribute list."); in load_attribute_list_mount()
1800 * attribute list is actually present in $MFT inode.
1802 * We solve these problems by starting with the $DATA attribute before anything
1830 /* Setup the data attribute. It is special as it is mst protected. */ in ntfs_read_inode_mount()
1864 /* Determine the first block of the $MFT/$DATA attribute. */ in ntfs_read_inode_mount()
1894 /* Need this to sanity check attribute list references to $MFT. */ in ntfs_read_inode_mount()
1906 /* Find the attribute list attribute if present. */ in ntfs_read_inode_mount()
1911 "Failed to lookup attribute list attribute. You should run chkdsk."); in ntfs_read_inode_mount()
1919 ntfs_debug("Attribute list attribute found in $MFT."); in ntfs_read_inode_mount()
1924 "Attribute list attribute is compressed.%s", in ntfs_read_inode_mount()
1932 "Non-resident attribute list attribute is encrypted/sparse.%s", in ntfs_read_inode_mount()
1937 …"Resident attribute list attribute in $MFT system file is marked encrypted/sparse which is not tru… in ntfs_read_inode_mount()
1939 /* Now allocate memory for the attribute list. */ in ntfs_read_inode_mount()
1948 ntfs_error(sb, "Not enough memory to allocate buffer for attribute list."); in ntfs_read_inode_mount()
1958 "Attribute list has non zero lowest_vcn. $MFT is corrupt. You should run chkdsk."); in ntfs_read_inode_mount()
1976 "Failed to load attribute list with error code %i.", in ntfs_read_inode_mount()
1981 /* Now copy the attribute list. */ in ntfs_read_inode_mount()
1986 /* The attribute list is now setup in memory. */ in ntfs_read_inode_mount()
1994 /* Catch the end of the attribute list. */ in ntfs_read_inode_mount()
2008 /* We want an unnamed attribute. */ in ntfs_read_inode_mount()
2033 /* Now load all attribute extents. */ in ntfs_read_inode_mount()
2040 /* Cache the current attribute. */ in ntfs_read_inode_mount()
2077 …"First extent of $DATA attribute has non zero lowest_vcn. $MFT is corrupt. You should run chkdsk."… in ntfs_read_inode_mount()
2080 /* Get the last vcn in the $DATA attribute. */ in ntfs_read_inode_mount()
2147 ntfs_error(sb, "$MFT has corrupt attribute list attribute. Run chkdsk."); in ntfs_read_inode_mount()
2152 ntfs_error(sb, "Failed to lookup $MFT/$DATA attribute extent. Run chkdsk.\n"); in ntfs_read_inode_mount()
2156 ntfs_error(sb, "$MFT/$DATA attribute not found. $MFT is corrupt. Run chkdsk."); in ntfs_read_inode_mount()
2181 "Couldn't find first extent of $DATA attribute in attribute list. $MFT is corrupt. Run chkdsk."); in ntfs_read_inode_mount()
2434 * ntfs_inode_sync_standard_information - update standard information attribute
2449 /* Update the access times in the standard information attribute. */ in ntfs_inode_sync_standard_information()
2505 * If we just modified the standard information attribute we need to in ntfs_inode_sync_standard_information()
2625 * attribute update implied the unnamed data to be in ntfs_inode_sync_filename()
2648 ntfs_error(sb, "Attribute lookup failed, err : %d, inode %llu", err, in ntfs_inode_sync_filename()
2719 * Dirty attribute inodes are written via their real inodes so just in __ntfs_write_inode()
2981 /* Inode haven't got attribute list, thus nothing to attach. */ in ntfs_inode_attach_all_extents()
2990 /* Walk through attribute list and attach all extents. */ in ntfs_inode_attach_all_extents()
3007 * ntfs_inode_add_attrlist - add attribute list to inode and fill it
3008 * @ni: opened ntfs inode to which add attribute list
3028 ntfs_error(ni->vol->sb, "Inode already has attribute list"); in ntfs_inode_add_attrlist()
3036 /* Form attribute list. */ in ntfs_inode_add_attrlist()
3049 ntfs_error(ni->vol->sb, "Attribute list already present"); in ntfs_inode_add_attrlist()
3068 /* Add attribute to attribute list. */ in ntfs_inode_add_attrlist()
3090 ntfs_error(ni->vol->sb, "%s: Attribute lookup failed, inode %llu", in ntfs_inode_add_attrlist()
3095 /* Set in-memory attribute list. */ in ntfs_inode_add_attrlist()
3130 /* Prevent ntfs_attr_recorm_rm from freeing attribute list. */ in ntfs_inode_add_attrlist()
3149 * Scan attribute list for attributes that placed not in the base MFT in ntfs_inode_add_attrlist()
3163 "Rollback failed to move attribute"); in ntfs_inode_add_attrlist()
3172 /* Remove in-memory attribute list. */ in ntfs_inode_add_attrlist()
3305 * could point to an attribute in an extent mft record, but in ntfs_attr_position()
3363 * search context on first attribute after $STANDARD_INFORMATION and in ntfs_inode_free_space()
3367 * enumeration? Because in case we have got only in-memory attribute in ntfs_inode_free_space()
3379 * Check whether attribute is from different MFT record. If so, in ntfs_inode_free_space()
3408 /* Move away attribute. */ in ntfs_inode_free_space()
3411 ntfs_error(sb, "Failed to move out attribute #2"); in ntfs_inode_free_space()
3423 * Reposition to first attribute after $STANDARD_INFORMATION and in ntfs_inode_free_space()
3533 ntfs_debug("Failed to truncate attribute"); in ntfs_enlarge_attribute()