lkml.org 
[lkml]   [2010]   [Jun]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH V2 1/4] block: Add BLKSECDISCARD
    From 2bca77333187190bacb3e8b6f79a51ee11be62b5 Mon Sep 17 00:00:00 2001
    From: Adrian Hunter <adrian.hunter@nokia.com>
    Date: Thu, 3 Jun 2010 10:46:04 +0300
    Subject: [PATCH 1/4] block: Add BLKSECDISCARD

    eMMC v4.4 cards can provide a secure erase operation
    which guarantees that all copies of the discarded sectors (for
    example created by garbage collection) will also be erased. For
    this a new ioctl BLKSECDISCARD is added.

    Signed-off-by: Adrian Hunter <adrian.hunter@nokia.com>
    ---
    block/compat_ioctl.c | 1 +
    block/ioctl.c | 5 +++++
    include/linux/fs.h | 1 +
    3 files changed, 7 insertions(+), 0 deletions(-)

    diff --git a/block/compat_ioctl.c b/block/compat_ioctl.c
    index f26051f..24a146d 100644
    --- a/block/compat_ioctl.c
    +++ b/block/compat_ioctl.c
    @@ -753,6 +753,7 @@ long compat_blkdev_ioctl(struct file *file, unsigned cmd, unsigned long arg)
    case BLKFLSBUF:
    case BLKROSET:
    case BLKDISCARD:
    + case BLKSECDISCARD:
    /*
    * the ones below are implemented in blkdev_locked_ioctl,
    * but we call blkdev_ioctl, which gets the lock for us
    diff --git a/block/ioctl.c b/block/ioctl.c
    index e8eb679..bc5c19c 100644
    --- a/block/ioctl.c
    +++ b/block/ioctl.c
    @@ -238,6 +238,11 @@ int blkdev_ioctl(struct block_device *bdev, fmode_t mode, unsigned cmd,
    return blk_ioctl_discard(bdev, range[0], range[1]);
    }

    + case BLKSECDISCARD:
    + if (!(mode & FMODE_WRITE))
    + return -EBADF;
    + return __blkdev_driver_ioctl(bdev, mode, cmd, arg);
    +
    case HDIO_GETGEO: {
    struct hd_geometry geo;

    diff --git a/include/linux/fs.h b/include/linux/fs.h
    index 471e1ff..ed06568 100644
    --- a/include/linux/fs.h
    +++ b/include/linux/fs.h
    @@ -309,6 +309,7 @@ struct inodes_stat_t {
    #define BLKALIGNOFF _IO(0x12,122)
    #define BLKPBSZGET _IO(0x12,123)
    #define BLKDISCARDZEROES _IO(0x12,124)
    +#define BLKSECDISCARD _IO(0x12,125)

    #define BMAP_IOCTL 1 /* obsolete - kept for compatibility */
    #define FIBMAP _IO(0x00,1) /* bmap access */
    --
    1.6.3.3

    \
     
     \ /
      Last update: 2010-06-13 12:05    [W:5.133 / U:0.016 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site