diff options
| author | Trond Myklebust <Trond.Myklebust@netapp.com> | 2006-03-23 23:44:19 -0500 |
|---|---|---|
| committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2006-03-23 23:44:19 -0500 |
| commit | 1ebbe2b20091d306453a5cf480a87e6cd28ae76f (patch) | |
| tree | f5cd7a0fa69b8b1938cb5a0faed2e7b0628072a5 /fs/ntfs/layout.h | |
| parent | ac58c9059da8886b5e8cde012a80266b18ca146e (diff) | |
| parent | 674a396c6d2ba0341ebdd7c1c9950f32f018e2dd (diff) | |
Merge branch 'linus'
Diffstat (limited to 'fs/ntfs/layout.h')
| -rw-r--r-- | fs/ntfs/layout.h | 44 |
1 files changed, 24 insertions, 20 deletions
diff --git a/fs/ntfs/layout.h b/fs/ntfs/layout.h index bb408d4dcbb0..d34b93cb8b48 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.*/ |
| @@ -801,13 +801,16 @@ typedef struct { | |||
| 801 | typedef ATTR_RECORD ATTR_REC; | 801 | typedef ATTR_RECORD ATTR_REC; |
| 802 | 802 | ||
| 803 | /* | 803 | /* |
| 804 | * File attribute flags (32-bit). | 804 | * File attribute flags (32-bit) appearing in the file_attributes fields of the |
| 805 | * STANDARD_INFORMATION attribute of MFT_RECORDs and the FILENAME_ATTR | ||
| 806 | * attributes of MFT_RECORDs and directory index entries. | ||
| 807 | * | ||
| 808 | * All of the below flags appear in the directory index entries but only some | ||
| 809 | * appear in the STANDARD_INFORMATION attribute whilst only some others appear | ||
| 810 | * in the FILENAME_ATTR attribute of MFT_RECORDs. Unless otherwise stated the | ||
| 811 | * flags appear in all of the above. | ||
| 805 | */ | 812 | */ |
| 806 | enum { | 813 | enum { |
| 807 | /* | ||
| 808 | * The following flags are only present in the STANDARD_INFORMATION | ||
| 809 | * attribute (in the field file_attributes). | ||
| 810 | */ | ||
| 811 | FILE_ATTR_READONLY = const_cpu_to_le32(0x00000001), | 814 | FILE_ATTR_READONLY = const_cpu_to_le32(0x00000001), |
| 812 | FILE_ATTR_HIDDEN = const_cpu_to_le32(0x00000002), | 815 | FILE_ATTR_HIDDEN = const_cpu_to_le32(0x00000002), |
| 813 | FILE_ATTR_SYSTEM = const_cpu_to_le32(0x00000004), | 816 | FILE_ATTR_SYSTEM = const_cpu_to_le32(0x00000004), |
| @@ -839,18 +842,14 @@ enum { | |||
| 839 | F_A_COMPRESSED, and F_A_ENCRYPTED and preserves the rest. This mask | 842 | F_A_COMPRESSED, and F_A_ENCRYPTED and preserves the rest. This mask |
| 840 | is used to to obtain all flags that are valid for setting. */ | 843 | is used to to obtain all flags that are valid for setting. */ |
| 841 | /* | 844 | /* |
| 842 | * The following flag is only present in the FILE_NAME attribute (in | 845 | * The flag FILE_ATTR_DUP_FILENAME_INDEX_PRESENT is present in all |
| 843 | * the field file_attributes). | 846 | * FILENAME_ATTR attributes but not in the STANDARD_INFORMATION |
| 847 | * attribute of an mft record. | ||
| 844 | */ | 848 | */ |
| 845 | FILE_ATTR_DUP_FILE_NAME_INDEX_PRESENT = const_cpu_to_le32(0x10000000), | 849 | FILE_ATTR_DUP_FILE_NAME_INDEX_PRESENT = const_cpu_to_le32(0x10000000), |
| 846 | /* Note, this is a copy of the corresponding bit from the mft record, | 850 | /* Note, this is a copy of the corresponding bit from the mft record, |
| 847 | telling us whether this is a directory or not, i.e. whether it has | 851 | telling us whether this is a directory or not, i.e. whether it has |
| 848 | an index root attribute or not. */ | 852 | an index root attribute or not. */ |
| 849 | /* | ||
| 850 | * The following flag is present both in the STANDARD_INFORMATION | ||
| 851 | * attribute and in the FILE_NAME attribute (in the field | ||
| 852 | * file_attributes). | ||
| 853 | */ | ||
| 854 | FILE_ATTR_DUP_VIEW_INDEX_PRESENT = const_cpu_to_le32(0x20000000), | 853 | FILE_ATTR_DUP_VIEW_INDEX_PRESENT = const_cpu_to_le32(0x20000000), |
| 855 | /* Note, this is a copy of the corresponding bit from the mft record, | 854 | /* Note, this is a copy of the corresponding bit from the mft record, |
| 856 | telling us whether this file has a view index present (eg. object id | 855 | telling us whether this file has a view index present (eg. object id |
| @@ -891,7 +890,7 @@ typedef struct { | |||
| 891 | Windows this is only updated when | 890 | Windows this is only updated when |
| 892 | accessed if some time delta has | 891 | accessed if some time delta has |
| 893 | passed since the last update. Also, | 892 | passed since the last update. Also, |
| 894 | last access times updates can be | 893 | last access time updates can be |
| 895 | disabled altogether for speed. */ | 894 | disabled altogether for speed. */ |
| 896 | /* 32*/ FILE_ATTR_FLAGS file_attributes; /* Flags describing the file. */ | 895 | /* 32*/ FILE_ATTR_FLAGS file_attributes; /* Flags describing the file. */ |
| 897 | /* 36*/ union { | 896 | /* 36*/ union { |
| @@ -1076,16 +1075,21 @@ typedef struct { | |||
| 1076 | /* 20*/ sle64 last_access_time; /* Time this mft record was last | 1075 | /* 20*/ sle64 last_access_time; /* Time this mft record was last |
| 1077 | accessed. */ | 1076 | accessed. */ |
| 1078 | /* 28*/ sle64 allocated_size; /* Byte size of on-disk allocated space | 1077 | /* 28*/ sle64 allocated_size; /* Byte size of on-disk allocated space |
| 1079 | for the data attribute. So for | 1078 | for the unnamed data attribute. So |
| 1080 | normal $DATA, this is the | 1079 | for normal $DATA, this is the |
| 1081 | allocated_size from the unnamed | 1080 | allocated_size from the unnamed |
| 1082 | $DATA attribute and for compressed | 1081 | $DATA attribute and for compressed |
| 1083 | and/or sparse $DATA, this is the | 1082 | and/or sparse $DATA, this is the |
| 1084 | compressed_size from the unnamed | 1083 | compressed_size from the unnamed |
| 1085 | $DATA attribute. NOTE: This is a | 1084 | $DATA attribute. For a directory or |
| 1086 | multiple of the cluster size. */ | 1085 | other inode without an unnamed $DATA |
| 1087 | /* 30*/ sle64 data_size; /* Byte size of actual data in data | 1086 | attribute, this is always 0. NOTE: |
| 1088 | attribute. */ | 1087 | This is a multiple of the cluster |
| 1088 | size. */ | ||
| 1089 | /* 30*/ sle64 data_size; /* Byte size of actual data in unnamed | ||
| 1090 | data attribute. For a directory or | ||
| 1091 | other inode without an unnamed $DATA | ||
| 1092 | attribute, this is always 0. */ | ||
| 1089 | /* 38*/ FILE_ATTR_FLAGS file_attributes; /* Flags describing the file. */ | 1093 | /* 38*/ FILE_ATTR_FLAGS file_attributes; /* Flags describing the file. */ |
| 1090 | /* 3c*/ union { | 1094 | /* 3c*/ union { |
| 1091 | /* 3c*/ struct { | 1095 | /* 3c*/ struct { |
