aboutsummaryrefslogtreecommitdiffstats
path: root/fs/ntfs/layout.h
diff options
context:
space:
mode:
authorTrond Myklebust <Trond.Myklebust@netapp.com>2006-03-23 23:44:19 -0500
committerTrond Myklebust <Trond.Myklebust@netapp.com>2006-03-23 23:44:19 -0500
commit1ebbe2b20091d306453a5cf480a87e6cd28ae76f (patch)
treef5cd7a0fa69b8b1938cb5a0faed2e7b0628072a5 /fs/ntfs/layout.h
parentac58c9059da8886b5e8cde012a80266b18ca146e (diff)
parent674a396c6d2ba0341ebdd7c1c9950f32f018e2dd (diff)
Merge branch 'linus'
Diffstat (limited to 'fs/ntfs/layout.h')
-rw-r--r--fs/ntfs/layout.h44
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 {
801typedef ATTR_RECORD ATTR_REC; 801typedef 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 */
806enum { 813enum {
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 {