]> git.ipfire.org Git - thirdparty/e2fsprogs.git/commitdiff
Align the types used by jbd2_journal_bmap and getblk with the kernel
authorTheodore Ts'o <tytso@mit.edu>
Sat, 9 Nov 2019 06:47:24 +0000 (01:47 -0500)
committerTheodore Ts'o <tytso@mit.edu>
Sat, 9 Nov 2019 06:55:14 +0000 (01:55 -0500)
This avoids some 32-bit vs 64-bit discrepancies in the function
signatures and the types used by their callers.

This cleans up some sparse warnings in recovery.c.

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
debugfs/journal.c
e2fsck/jfs_user.h
e2fsck/journal.c

index c55a6ef4b7d8550cd0203e2b4048aece74dd6bbe..fa72ec5720d19d19570d680339e2045ae7a009e2 100644 (file)
@@ -99,7 +99,7 @@ static errcode_t ext2fs_journal_sb_csum_set(journal_t *j,
  * to use the recovery.c file virtually unchanged from the kernel, so we
  * don't have to do much to keep kernel and user recovery in sync.
  */
-int jbd2_journal_bmap(journal_t *journal, blk64_t block,
+int jbd2_journal_bmap(journal_t *journal, unsigned long block,
                      unsigned long long *phys)
 {
 #ifdef USE_INODE_IO
@@ -116,13 +116,15 @@ int jbd2_journal_bmap(journal_t *journal, blk64_t block,
        }
 
        retval = ext2fs_bmap2(inode->i_fs, inode->i_ino,
-                             &inode->i_ext2, NULL, 0, block, 0, &pblk);
+                             &inode->i_ext2, NULL, 0, (blk64_t) block,
+                             0, &pblk);
        *phys = pblk;
        return (int) retval;
 #endif
 }
 
-struct buffer_head *getblk(kdev_t kdev, blk64_t blocknr, int blocksize)
+struct buffer_head *getblk(kdev_t kdev, unsigned long long blocknr,
+                          int blocksize)
 {
        struct buffer_head *bh;
        int bufsize = sizeof(*bh) + kdev->k_fs->blocksize -
@@ -138,7 +140,7 @@ struct buffer_head *getblk(kdev_t kdev, blk64_t blocknr, int blocksize)
                bh_count++;
 #endif
        jfs_debug(4, "getblk for block %llu (%d bytes)(total %d)\n",
-                 (unsigned long long) blocknr, blocksize, bh_count);
+                 blocknr, blocksize, bh_count);
 
        bh->b_fs = kdev->k_fs;
        if (kdev->k_dev == K_DEV_FS)
index 99555789153c22b47efca9d08f1d0d7a9ec22e6d..10baf7560a962ab43299b9d8d7567b5bbb2a316d 100644 (file)
@@ -187,9 +187,10 @@ _INLINE_ __u32 hash_64(__u64 val, unsigned int bits)
 /*
  * Kernel compatibility functions are defined in journal.c
  */
-int jbd2_journal_bmap(journal_t *journal, blk64_t block,
+int jbd2_journal_bmap(journal_t *journal, unsigned long block,
                      unsigned long long *phys);
-struct buffer_head *getblk(kdev_t ctx, blk64_t blocknr, int blocksize);
+struct buffer_head *getblk(kdev_t ctx, unsigned long long blocknr,
+                          int blocksize);
 int sync_blockdev(kdev_t kdev);
 void ll_rw_block(int rw, int op_flags, int nr, struct buffer_head *bh[]);
 void mark_buffer_dirty(struct buffer_head *bh);
index 9a0ced5ca3600e1a0a3993625fbf42dcf028635a..7d9f1b40dcee1f93cfa624b918352a34c8882730 100644 (file)
@@ -94,7 +94,7 @@ static errcode_t e2fsck_journal_sb_csum_set(journal_t *j,
  * to use the recovery.c file virtually unchanged from the kernel, so we
  * don't have to do much to keep kernel and user recovery in sync.
  */
-int jbd2_journal_bmap(journal_t *journal, blk64_t block,
+int jbd2_journal_bmap(journal_t *journal, unsigned long block,
                      unsigned long long *phys)
 {
 #ifdef USE_INODE_IO
@@ -111,13 +111,15 @@ int jbd2_journal_bmap(journal_t *journal, blk64_t block,
        }
 
        retval= ext2fs_bmap2(inode->i_ctx->fs, inode->i_ino,
-                            &inode->i_ext2, NULL, 0, block, 0, &pblk);
+                            &inode->i_ext2, NULL, 0, (blk64_t) block,
+                            0, &pblk);
        *phys = pblk;
        return -1 * ((int) retval);
 #endif
 }
 
-struct buffer_head *getblk(kdev_t kdev, blk64_t blocknr, int blocksize)
+struct buffer_head *getblk(kdev_t kdev, unsigned long long blocknr,
+                          int blocksize)
 {
        struct buffer_head *bh;
        int bufsize = sizeof(*bh) + kdev->k_ctx->fs->blocksize -
@@ -132,7 +134,7 @@ struct buffer_head *getblk(kdev_t kdev, blk64_t blocknr, int blocksize)
                bh_count++;
 #endif
        jfs_debug(4, "getblk for block %llu (%d bytes)(total %d)\n",
-                 (unsigned long long) blocknr, blocksize, bh_count);
+                 blocknr, blocksize, bh_count);
 
        bh->b_ctx = kdev->k_ctx;
        if (kdev->k_dev == K_DEV_FS)