diff options
Diffstat (limited to 'fs/udf/udf_sb.h')
-rw-r--r-- | fs/udf/udf_sb.h | 26 |
1 files changed, 9 insertions, 17 deletions
diff --git a/fs/udf/udf_sb.h b/fs/udf/udf_sb.h index 60f31d8cebee..3e937d3fb8f9 100644 --- a/fs/udf/udf_sb.h +++ b/fs/udf/udf_sb.h | |||
@@ -20,8 +20,8 @@ | |||
20 | #define UDF_FLAG_VARCONV 8 | 20 | #define UDF_FLAG_VARCONV 8 |
21 | #define UDF_FLAG_NLS_MAP 9 | 21 | #define UDF_FLAG_NLS_MAP 9 |
22 | #define UDF_FLAG_UTF8 10 | 22 | #define UDF_FLAG_UTF8 10 |
23 | #define UDF_FLAG_UID_FORGET 11 /* save -1 for uid to disk */ | 23 | #define UDF_FLAG_UID_FORGET 11 /* save -1 for uid to disk */ |
24 | #define UDF_FLAG_UID_IGNORE 12 /* use sb uid instead of on disk uid */ | 24 | #define UDF_FLAG_UID_IGNORE 12 /* use sb uid instead of on disk uid */ |
25 | #define UDF_FLAG_GID_FORGET 13 | 25 | #define UDF_FLAG_GID_FORGET 13 |
26 | #define UDF_FLAG_GID_IGNORE 14 | 26 | #define UDF_FLAG_GID_IGNORE 14 |
27 | 27 | ||
@@ -41,8 +41,7 @@ static inline struct udf_sb_info *UDF_SB(struct super_block *sb) | |||
41 | 41 | ||
42 | #define UDF_SB_FREE(X)\ | 42 | #define UDF_SB_FREE(X)\ |
43 | {\ | 43 | {\ |
44 | if (UDF_SB(X))\ | 44 | if (UDF_SB(X)) {\ |
45 | {\ | ||
46 | kfree(UDF_SB_PARTMAPS(X));\ | 45 | kfree(UDF_SB_PARTMAPS(X));\ |
47 | UDF_SB_PARTMAPS(X) = NULL;\ | 46 | UDF_SB_PARTMAPS(X) = NULL;\ |
48 | }\ | 47 | }\ |
@@ -51,13 +50,10 @@ static inline struct udf_sb_info *UDF_SB(struct super_block *sb) | |||
51 | #define UDF_SB_ALLOC_PARTMAPS(X,Y)\ | 50 | #define UDF_SB_ALLOC_PARTMAPS(X,Y)\ |
52 | {\ | 51 | {\ |
53 | UDF_SB_PARTMAPS(X) = kmalloc(sizeof(struct udf_part_map) * Y, GFP_KERNEL);\ | 52 | UDF_SB_PARTMAPS(X) = kmalloc(sizeof(struct udf_part_map) * Y, GFP_KERNEL);\ |
54 | if (UDF_SB_PARTMAPS(X) != NULL)\ | 53 | if (UDF_SB_PARTMAPS(X) != NULL) {\ |
55 | {\ | ||
56 | UDF_SB_NUMPARTS(X) = Y;\ | 54 | UDF_SB_NUMPARTS(X) = Y;\ |
57 | memset(UDF_SB_PARTMAPS(X), 0x00, sizeof(struct udf_part_map) * Y);\ | 55 | memset(UDF_SB_PARTMAPS(X), 0x00, sizeof(struct udf_part_map) * Y);\ |
58 | }\ | 56 | } else {\ |
59 | else\ | ||
60 | {\ | ||
61 | UDF_SB_NUMPARTS(X) = 0;\ | 57 | UDF_SB_NUMPARTS(X) = 0;\ |
62 | udf_error(X, __FUNCTION__, "Unable to allocate space for %d partition maps", Y);\ | 58 | udf_error(X, __FUNCTION__, "Unable to allocate space for %d partition maps", Y);\ |
63 | }\ | 59 | }\ |
@@ -72,15 +68,12 @@ static inline struct udf_sb_info *UDF_SB(struct super_block *sb) | |||
72 | UDF_SB_PARTMAPS(X)[(Y)].Z.s_bitmap = kmalloc(size, GFP_KERNEL);\ | 68 | UDF_SB_PARTMAPS(X)[(Y)].Z.s_bitmap = kmalloc(size, GFP_KERNEL);\ |
73 | else\ | 69 | else\ |
74 | UDF_SB_PARTMAPS(X)[(Y)].Z.s_bitmap = vmalloc(size);\ | 70 | UDF_SB_PARTMAPS(X)[(Y)].Z.s_bitmap = vmalloc(size);\ |
75 | if (UDF_SB_PARTMAPS(X)[(Y)].Z.s_bitmap != NULL)\ | 71 | if (UDF_SB_PARTMAPS(X)[(Y)].Z.s_bitmap != NULL) {\ |
76 | {\ | ||
77 | memset(UDF_SB_PARTMAPS(X)[(Y)].Z.s_bitmap, 0x00, size);\ | 72 | memset(UDF_SB_PARTMAPS(X)[(Y)].Z.s_bitmap, 0x00, size);\ |
78 | UDF_SB_PARTMAPS(X)[(Y)].Z.s_bitmap->s_block_bitmap =\ | 73 | UDF_SB_PARTMAPS(X)[(Y)].Z.s_bitmap->s_block_bitmap =\ |
79 | (struct buffer_head **)(UDF_SB_PARTMAPS(X)[(Y)].Z.s_bitmap + 1);\ | 74 | (struct buffer_head **)(UDF_SB_PARTMAPS(X)[(Y)].Z.s_bitmap + 1);\ |
80 | UDF_SB_PARTMAPS(X)[(Y)].Z.s_bitmap->s_nr_groups = nr_groups;\ | 75 | UDF_SB_PARTMAPS(X)[(Y)].Z.s_bitmap->s_nr_groups = nr_groups;\ |
81 | }\ | 76 | } else {\ |
82 | else\ | ||
83 | {\ | ||
84 | udf_error(X, __FUNCTION__, "Unable to allocate space for bitmap and %d buffer_head pointers", nr_groups);\ | 77 | udf_error(X, __FUNCTION__, "Unable to allocate space for bitmap and %d buffer_head pointers", nr_groups);\ |
85 | }\ | 78 | }\ |
86 | } | 79 | } |
@@ -90,8 +83,7 @@ static inline struct udf_sb_info *UDF_SB(struct super_block *sb) | |||
90 | int i;\ | 83 | int i;\ |
91 | int nr_groups = UDF_SB_BITMAP_NR_GROUPS(X,Y,Z);\ | 84 | int nr_groups = UDF_SB_BITMAP_NR_GROUPS(X,Y,Z);\ |
92 | int size = sizeof(struct udf_bitmap) + (sizeof(struct buffer_head *) * nr_groups);\ | 85 | int size = sizeof(struct udf_bitmap) + (sizeof(struct buffer_head *) * nr_groups);\ |
93 | for (i=0; i<nr_groups; i++)\ | 86 | for (i = 0; i < nr_groups; i++) {\ |
94 | {\ | ||
95 | if (UDF_SB_BITMAP(X,Y,Z,i))\ | 87 | if (UDF_SB_BITMAP(X,Y,Z,i))\ |
96 | brelse(UDF_SB_BITMAP(X,Y,Z,i));\ | 88 | brelse(UDF_SB_BITMAP(X,Y,Z,i));\ |
97 | }\ | 89 | }\ |
@@ -139,4 +131,4 @@ static inline struct udf_sb_info *UDF_SB(struct super_block *sb) | |||
139 | #define UDF_SB_FLAGS(X) ( UDF_SB(X)->s_flags ) | 131 | #define UDF_SB_FLAGS(X) ( UDF_SB(X)->s_flags ) |
140 | #define UDF_SB_VAT(X) ( UDF_SB(X)->s_vat ) | 132 | #define UDF_SB_VAT(X) ( UDF_SB(X)->s_vat ) |
141 | 133 | ||
142 | #endif /* __LINUX_UDF_SB_H */ | 134 | #endif /* __LINUX_UDF_SB_H */ |