aboutsummaryrefslogtreecommitdiffstats
path: root/fs/ntfs/lcnalloc.c
diff options
context:
space:
mode:
authorAnton Altaparmakov <aia21@cantab.net>2005-06-25 11:51:58 -0400
committerAnton Altaparmakov <aia21@cantab.net>2005-06-25 11:51:58 -0400
commit3bd1f4a173a3445f9919c21e775de2d8b9deacf8 (patch)
tree6b32056b5b63d41fc5d032318ed0f94dbc562288 /fs/ntfs/lcnalloc.c
parentca8fd7a0c6aa835e8014830b290cb965e85ac88e (diff)
NTFS: Fix several occurences of a bug where we would perform 'var & ~const'
with a 64-bit variable and a int, i.e. 32-bit, constant. This causes the higher order 32-bits of the 64-bit variable to be zeroed. To fix this cast the 'const' to the same 64-bit type as 'var'. Signed-off-by: Anton Altaparmakov <aia21@cantab.net>
Diffstat (limited to 'fs/ntfs/lcnalloc.c')
-rw-r--r--fs/ntfs/lcnalloc.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/ntfs/lcnalloc.c b/fs/ntfs/lcnalloc.c
index 7087b5b0e6ce..a4bc07616e5d 100644
--- a/fs/ntfs/lcnalloc.c
+++ b/fs/ntfs/lcnalloc.c
@@ -293,7 +293,7 @@ runlist_element *ntfs_cluster_alloc(ntfs_volume *vol, const VCN start_vcn,
293 buf_size = i_size - last_read_pos; 293 buf_size = i_size - last_read_pos;
294 buf_size <<= 3; 294 buf_size <<= 3;
295 lcn = bmp_pos & 7; 295 lcn = bmp_pos & 7;
296 bmp_pos &= ~7; 296 bmp_pos &= ~(LCN)7;
297 ntfs_debug("Before inner while loop: buf_size %i, lcn 0x%llx, " 297 ntfs_debug("Before inner while loop: buf_size %i, lcn 0x%llx, "
298 "bmp_pos 0x%llx, need_writeback %i.", buf_size, 298 "bmp_pos 0x%llx, need_writeback %i.", buf_size,
299 (unsigned long long)lcn, 299 (unsigned long long)lcn,
@@ -311,7 +311,7 @@ runlist_element *ntfs_cluster_alloc(ntfs_volume *vol, const VCN start_vcn,
311 (unsigned int)*byte); 311 (unsigned int)*byte);
312 /* Skip full bytes. */ 312 /* Skip full bytes. */
313 if (*byte == 0xff) { 313 if (*byte == 0xff) {
314 lcn = (lcn + 8) & ~7; 314 lcn = (lcn + 8) & ~(LCN)7;
315 ntfs_debug("Continuing while loop 1."); 315 ntfs_debug("Continuing while loop 1.");
316 continue; 316 continue;
317 } 317 }