On 10/26/10 12:54 PM, Lukas Czerner wrote: > There is generic discard function in struct_io_manager, or in > unix_io_manager to be specific. So use this instead of > mke2fs_discard_blocks(). > > Since mke2fs_discard_blocks() is not used anymore (and should not be) > remove it. looks fine to me, though needs fixup for the ->discard args if that changes. > Signed-off-by: Lukas Czerner <lczerner@xxxxxxxxxx> > --- > misc/mke2fs.c | 50 +++++++++++--------------------------------------- > 1 files changed, 11 insertions(+), 39 deletions(-) > > diff --git a/misc/mke2fs.c b/misc/mke2fs.c > index 32e3a2b..09ce711 100644 > --- a/misc/mke2fs.c > +++ b/misc/mke2fs.c > @@ -1902,48 +1902,10 @@ static int mke2fs_setup_tdb(const char *name, io_manager *io_ptr) > > #ifdef __linux__ > > -#ifndef BLKDISCARD > -#define BLKDISCARD _IO(0x12,119) > -#endif > - > #ifndef BLKDISCARDZEROES > #define BLKDISCARDZEROES _IO(0x12,124) > #endif > > -/* > - * Return zero if the discard succeeds, and -1 if the discard fails. > - */ > -static int mke2fs_discard_blocks(ext2_filsys fs) > -{ > - int fd; > - int ret; > - int blocksize; > - __u64 blocks; > - __uint64_t range[2]; > - > - blocks = ext2fs_blocks_count(fs->super); > - blocksize = EXT2_BLOCK_SIZE(fs->super); > - range[0] = 0; > - range[1] = blocks * blocksize; > - > - fd = open64(fs->device_name, O_RDWR); > - > - if (fd > 0) { > - ret = ioctl(fd, BLKDISCARD, &range); > - if (verbose) { > - printf(_("Calling BLKDISCARD from %llu to %llu "), > - (unsigned long long) range[0], > - (unsigned long long) range[1]); > - if (ret) > - printf(_("failed.\n")); > - else > - printf(_("succeeded.\n")); > - } > - close(fd); > - } > - return ret; > -} > - > static int mke2fs_discard_zeroes_data(ext2_filsys fs) > { > int fd; > @@ -2023,7 +1985,17 @@ int main (int argc, char *argv[]) > > /* Can't undo discard ... */ > if (discard && (io_ptr != undo_io_manager)) { > - retval = mke2fs_discard_blocks(fs); > + blk64_t blocks = ext2fs_blocks_count(fs->super); > + retval = io_ptr->discard(fs->io, 0, blocks, fs); > + > + if (verbose) { > + printf(_("Calling BLKDISCARD from 0 to %llu "), > + (unsigned long long) blocks); > + if (retval) > + printf(_("failed.\n")); > + else > + printf(_("succeeded.\n")); > + } > > if (!retval && mke2fs_discard_zeroes_data(fs)) { > if (verbose) -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html