aboutsummaryrefslogtreecommitdiffstats
path: root/fs/ufs/util.c
diff options
context:
space:
mode:
authorEvgeniy Dushistov <dushistov@mail.ru>2006-06-25 08:47:22 -0400
committerLinus Torvalds <torvalds@g5.osdl.org>2006-06-25 13:01:02 -0400
commit9695ef16ed4e00b59303f39f9a4a422a2c6a3b89 (patch)
treefba8946e86a523a5d53936cf5ec9e0a150037f73 /fs/ufs/util.c
parentb71034e5e67d1577424cebe7bbb7d0ce134a4cd8 (diff)
[PATCH] ufs: wrong type cast
There are two ugly macros in ufs code: #define UCPI_UBH ((struct ufs_buffer_head *)ucpi) #define USPI_UBH ((struct ufs_buffer_head *)uspi) when uspi looks like struct { struct ufs_buffer_head ; } and USPI_UBH has some sence, ucpi looks like struct { struct not_ufs_buffer_head; } To prevent bugs in future, this patch convert macros to inline function and fix "ucpi" structure. Signed-off-by: Evgeniy Dushistov <dushistov@mail.ru> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'fs/ufs/util.c')
-rw-r--r--fs/ufs/util.c20
1 files changed, 10 insertions, 10 deletions
diff --git a/fs/ufs/util.c b/fs/ufs/util.c
index 72f91cc84bfe..f9556bc484ef 100644
--- a/fs/ufs/util.c
+++ b/fs/ufs/util.c
@@ -63,17 +63,17 @@ struct ufs_buffer_head * ubh_bread_uspi (struct ufs_sb_private_info * uspi,
63 count = size >> uspi->s_fshift; 63 count = size >> uspi->s_fshift;
64 if (count <= 0 || count > UFS_MAXFRAG) 64 if (count <= 0 || count > UFS_MAXFRAG)
65 return NULL; 65 return NULL;
66 USPI_UBH->fragment = fragment; 66 USPI_UBH(uspi)->fragment = fragment;
67 USPI_UBH->count = count; 67 USPI_UBH(uspi)->count = count;
68 for (i = 0; i < count; i++) 68 for (i = 0; i < count; i++)
69 if (!(USPI_UBH->bh[i] = sb_bread(sb, fragment + i))) 69 if (!(USPI_UBH(uspi)->bh[i] = sb_bread(sb, fragment + i)))
70 goto failed; 70 goto failed;
71 for (; i < UFS_MAXFRAG; i++) 71 for (; i < UFS_MAXFRAG; i++)
72 USPI_UBH->bh[i] = NULL; 72 USPI_UBH(uspi)->bh[i] = NULL;
73 return USPI_UBH; 73 return USPI_UBH(uspi);
74failed: 74failed:
75 for (j = 0; j < i; j++) 75 for (j = 0; j < i; j++)
76 brelse (USPI_UBH->bh[j]); 76 brelse (USPI_UBH(uspi)->bh[j]);
77 return NULL; 77 return NULL;
78} 78}
79 79
@@ -90,11 +90,11 @@ void ubh_brelse (struct ufs_buffer_head * ubh)
90void ubh_brelse_uspi (struct ufs_sb_private_info * uspi) 90void ubh_brelse_uspi (struct ufs_sb_private_info * uspi)
91{ 91{
92 unsigned i; 92 unsigned i;
93 if (!USPI_UBH) 93 if (!USPI_UBH(uspi))
94 return; 94 return;
95 for ( i = 0; i < USPI_UBH->count; i++ ) { 95 for ( i = 0; i < USPI_UBH(uspi)->count; i++ ) {
96 brelse (USPI_UBH->bh[i]); 96 brelse (USPI_UBH(uspi)->bh[i]);
97 USPI_UBH->bh[i] = NULL; 97 USPI_UBH(uspi)->bh[i] = NULL;
98 } 98 }
99} 99}
100 100