Rename layout.h::ATTR_RECORD::{compressed_non_,non_,}resident_attr_end

to more shorter {non_,}resident_end and compressed_end.

(Logical change 1.637)
edge.strict_endians
(none)!yura 2004-11-21 10:53:22 +00:00
parent 46f3161850
commit a6258ef736
4 changed files with 20 additions and 21 deletions

View File

@ -75,10 +75,9 @@ xx/xx/2004 - 2.0.0-WIP
- New API attrib.[ch]::ntfs_attr_record_move_away(). (Yura)
- New API inode.[ch]::ntfs_inode_attach_all_extents . (Yura)
- New API inode.[ch]::ntfs_inode_free_space. (Yura)
- Improved layout.h::ATTR_RECORD to have
{compressed_non_,non_,}resident_attr_end fields. Use
offsetof(ATTR_RECORD, *resident_attr_end) to get size of accordable
attribute. (Yura)
- Improved layout.h::ATTR_RECORD to have {non_,}resident_end and
compressed_end fields. Use offsetof(ATTR_RECORD, *_end) to get size
of accordable attribute. (Yura)
- Make ntfs_attr_update_mapping_pairs and ntfs_inode_add_attrlist use
ntfs_inode_free_space when there is no enough space for attribute
list. (Yura)

View File

@ -709,9 +709,9 @@ typedef struct {
/* 22 */ RESIDENT_ATTR_FLAGS resident_flags; /* See above. */
/* 23 */ s8 reservedR; /* Reserved/alignment to 8-byte
boundary. */
/* 24 */ void *resident_attr_end[0]; /* Use offsetof(
ATTR_RECORD, resident_attr_end) to
get size of resident attribute. */
/* 24 */ void *resident_end[0]; /* Use offsetof(ATTR_RECORD,
resident_end) to get size of
a resident attribute. */
} __attribute__ ((__packed__));
/* Non-resident attributes. */
struct {
@ -755,19 +755,19 @@ typedef struct {
/* 56*/ s64 initialized_size; /* Byte size of initialized
portion of the attribute value. Usually equals
data_size. */
/* 64 */ void *non_resident_attr_end[0]; /* Use offsetof(
ATTR_RECORD, non_resident_attr_end) to
get size of non resident attribute. */
/* 64 */ void *non_resident_end[0]; /* Use offsetof(ATTR_RECORD,
non_resident_end) to get
size of a non resident
attribute. */
/* sizeof(uncompressed attr) = 64*/
/* 64*/ s64 compressed_size; /* Byte size of the attribute
value after compression. Only present when
compressed. Always is a multiple of the
cluster size. Represents the actual amount of
disk space being used on the disk. */
/* 72 */ void *compressed_non_resident_attr_end[0];
/* Use offsetof(ATTR_RECORD,
compressed_non_resident_attr_end) to get size
of non resident compressed attribute. */
/* 72 */ void *compressed_end[0];
/* Use offsetof(ATTR_RECORD, compressed_end) to
get size of a compressed attribute. */
/* sizeof(compressed attr) = 72*/
} __attribute__ ((__packed__));
} __attribute__ ((__packed__));

View File

@ -3449,7 +3449,7 @@ static int ntfs_resident_attr_resize(ntfs_attr *na, const s64 newsize)
if (na->type == AT_ATTRIBUTE_LIST) {
ntfs_attr_put_search_ctx(ctx);
if (ntfs_inode_free_space(na->ni, offsetof(ATTR_RECORD,
non_resident_attr_end) + 8)) {
non_resident_end) + 8)) {
err = errno;
Dprintf("%s(): Couldn't free space in the MFT record "
"to make attribute list non resident.\n",

View File

@ -624,9 +624,9 @@ int ntfs_inode_add_attrlist(ntfs_inode *ni)
/* Free space if there is not enough it for $ATTRIBUTE_LIST. */
if (le32_to_cpu(ni->mrec->bytes_allocated) -
le32_to_cpu(ni->mrec->bytes_in_use) <
offsetof(ATTR_RECORD, resident_attr_end)) {
offsetof(ATTR_RECORD, resident_end)) {
if (ntfs_inode_free_space(ni,
offsetof(ATTR_RECORD, resident_attr_end))) {
offsetof(ATTR_RECORD, resident_end))) {
/* Failed to free space. */
err = errno;
Dprintf("%s(): Failed to free space for "
@ -917,17 +917,17 @@ ntfs_attr *ntfs_inode_add_attr(ntfs_inode *ni, ATTR_TYPES type,
goto err_out;
}
/* Attribute can't be resident. */
attr_rec_size = offsetof(ATTR_RECORD, non_resident_attr_end) +
attr_rec_size = offsetof(ATTR_RECORD, non_resident_end) +
((name_len * sizeof(ntfschar) + 7) & ~7) + 8;
} else {
/* Attribute can be resident. */
attr_rec_size = offsetof(ATTR_RECORD, resident_attr_end) +
attr_rec_size = offsetof(ATTR_RECORD, resident_end) +
((name_len * sizeof(ntfschar) + 7) & ~7);
/* Check whether attribute will fit into the MFT record. */
if (size + attr_rec_size >= ni->vol->mft_record_size)
/* Will not fit, make it non resident. */
attr_rec_size = offsetof(ATTR_RECORD,
non_resident_attr_end) + ((name_len *
non_resident_end) + ((name_len *
sizeof(ntfschar) + 7) & ~7) + 8;
}
@ -973,7 +973,7 @@ ntfs_attr *ntfs_inode_add_attr(ntfs_inode *ni, ATTR_TYPES type,
}
add_attr_record:
if (attr_rec_size == offsetof(ATTR_RECORD, resident_attr_end)) {
if (attr_rec_size == offsetof(ATTR_RECORD, resident_end)) {
/* Add resident attribute. */
offset = ntfs_resident_attr_record_add(attr_ni, type, name,
name_len, 0);