diff options
author | Anton Altaparmakov <aia21@cantab.net> | 2006-03-23 10:53:03 -0500 |
---|---|---|
committer | Anton Altaparmakov <aia21@cantab.net> | 2006-03-23 10:53:03 -0500 |
commit | a0646a1f04f1ec4c7514e5b00496b54e054a2c99 (patch) | |
tree | 2cdf9023dd85b968a1cd3e4150019e1bbac19f1a /fs/ntfs/layout.h | |
parent | 949763b2b8822c6dc6da0d0e1d4af092152546c2 (diff) |
NTFS: Add support for sparse files which have a compression unit of 0.
Signed-off-by: Anton Altaparmakov <aia21@cantab.net>
Diffstat (limited to 'fs/ntfs/layout.h')
-rw-r--r-- | fs/ntfs/layout.h | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/fs/ntfs/layout.h b/fs/ntfs/layout.h index bb408d4dcbb0..f4283e120709 100644 --- a/fs/ntfs/layout.h +++ b/fs/ntfs/layout.h | |||
@@ -769,7 +769,7 @@ typedef struct { | |||
769 | compressed. (This effectively limits the | 769 | compressed. (This effectively limits the |
770 | compression unit size to be a power of two | 770 | compression unit size to be a power of two |
771 | clusters.) WinNT4 only uses a value of 4. | 771 | clusters.) WinNT4 only uses a value of 4. |
772 | Sparse files also have this set to 4. */ | 772 | Sparse files have this set to 0 on XPSP2. */ |
773 | /* 35*/ u8 reserved[5]; /* Align to 8-byte boundary. */ | 773 | /* 35*/ u8 reserved[5]; /* Align to 8-byte boundary. */ |
774 | /* The sizes below are only used when lowest_vcn is zero, as otherwise it would | 774 | /* The sizes below are only used when lowest_vcn is zero, as otherwise it would |
775 | be difficult to keep them up-to-date.*/ | 775 | be difficult to keep them up-to-date.*/ |
@@ -1076,16 +1076,21 @@ typedef struct { | |||
1076 | /* 20*/ sle64 last_access_time; /* Time this mft record was last | 1076 | /* 20*/ sle64 last_access_time; /* Time this mft record was last |
1077 | accessed. */ | 1077 | accessed. */ |
1078 | /* 28*/ sle64 allocated_size; /* Byte size of on-disk allocated space | 1078 | /* 28*/ sle64 allocated_size; /* Byte size of on-disk allocated space |
1079 | for the data attribute. So for | 1079 | for the unnamed data attribute. So |
1080 | normal $DATA, this is the | 1080 | for normal $DATA, this is the |
1081 | allocated_size from the unnamed | 1081 | allocated_size from the unnamed |
1082 | $DATA attribute and for compressed | 1082 | $DATA attribute and for compressed |
1083 | and/or sparse $DATA, this is the | 1083 | and/or sparse $DATA, this is the |
1084 | compressed_size from the unnamed | 1084 | compressed_size from the unnamed |
1085 | $DATA attribute. NOTE: This is a | 1085 | $DATA attribute. For a directory or |
1086 | multiple of the cluster size. */ | 1086 | other inode without an unnamed $DATA |
1087 | /* 30*/ sle64 data_size; /* Byte size of actual data in data | 1087 | attribute, this is always 0. NOTE: |
1088 | attribute. */ | 1088 | This is a multiple of the cluster |
1089 | size. */ | ||
1090 | /* 30*/ sle64 data_size; /* Byte size of actual data in unnamed | ||
1091 | data attribute. For a directory or | ||
1092 | other inode without an unnamed $DATA | ||
1093 | attribute, this is always 0. */ | ||
1089 | /* 38*/ FILE_ATTR_FLAGS file_attributes; /* Flags describing the file. */ | 1094 | /* 38*/ FILE_ATTR_FLAGS file_attributes; /* Flags describing the file. */ |
1090 | /* 3c*/ union { | 1095 | /* 3c*/ union { |
1091 | /* 3c*/ struct { | 1096 | /* 3c*/ struct { |