Whamcloud - gitweb
Add 64-bit mkjournal.c interface
authorJose R. Santos <jrs@us.ibm.com>
Mon, 1 Jun 2009 20:15:40 +0000 (16:15 -0400)
committerTheodore Ts'o <tytso@mit.edu>
Mon, 1 Jun 2009 20:15:40 +0000 (16:15 -0400)
Added 64-bit mkjournal.c interface.  Needed to zero inode tables.

Signed-off-by: Jose R. Santos <jrs@us.ibm.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
lib/ext2fs/ext2fs.h
lib/ext2fs/mkjournal.c

index 87a0ab7..0e28860 100644 (file)
@@ -1148,6 +1148,8 @@ extern errcode_t ext2fs_mkdir(ext2_filsys fs, ext2_ino_t parent, ext2_ino_t inum
 /* mkjournal.c */
 extern errcode_t ext2fs_zero_blocks(ext2_filsys fs, blk_t blk, int num,
                                    blk_t *ret_blk, int *ret_count);
+extern errcode_t ext2fs_zero_blocks2(ext2_filsys fs, blk64_t blk, int num,
+                                    blk64_t *ret_blk, int *ret_count); 
 extern errcode_t ext2fs_create_journal_superblock(ext2_filsys fs,
                                                  __u32 size, int flags,
                                                  char  **ret_jsb);
index 412f50b..79e849e 100644 (file)
@@ -145,8 +145,8 @@ errout:
  * programs that check for memory leaks happy.)
  */
 #define STRIDE_LENGTH 8
-errcode_t ext2fs_zero_blocks(ext2_filsys fs, blk_t blk, int num,
-                            blk_t *ret_blk, int *ret_count)
+errcode_t ext2fs_zero_blocks2(ext2_filsys fs, blk64_t blk, int num,
+                             blk64_t *ret_blk, int *ret_count)
 {
        int             j, count;
        static char     *buf;
@@ -179,7 +179,7 @@ errcode_t ext2fs_zero_blocks(ext2_filsys fs, blk_t blk, int num,
                        if (count > STRIDE_LENGTH)
                                count = STRIDE_LENGTH;
                }
-               retval = io_channel_write_blk(fs->io, blk, count, buf);
+               retval = io_channel_write_blk64(fs->io, blk, count, buf);
                if (retval) {
                        if (ret_count)
                                *ret_count = count;
@@ -192,6 +192,18 @@ errcode_t ext2fs_zero_blocks(ext2_filsys fs, blk_t blk, int num,
        return 0;
 }
 
+errcode_t ext2fs_zero_blocks(ext2_filsys fs, blk_t blk, int num,
+                            blk_t *ret_blk, int *ret_count)
+{
+       blk64_t ret_blk2;
+       errcode_t retval;
+
+       retval = ext2fs_zero_blocks2(fs, blk, num, &ret_blk2, ret_count);
+       if (retval)
+               *ret_blk = (blk_t) ret_blk2;
+       return retval;
+}
+
 /*
  * Helper function for creating the journal using direct I/O routines
  */