From 1edda104558aaec81d7108ddc687653820ac4dac Mon Sep 17 00:00:00 2001 From: Lukas Czerner Date: Wed, 26 Sep 2012 22:21:21 -0400 Subject: [PATCH] --- yaml --- r: 331605 b: refs/heads/master c: aaf7d73e54b6915310ece11aedb19ec06a833642 h: refs/heads/master i: 331603: 177031c6dc0a410accbcc49b7281f84e0b200f33 v: v3 --- [refs] | 2 +- trunk/fs/ext4/ioctl.c | 7 ------- trunk/fs/ext4/mballoc.c | 5 +++-- 3 files changed, 4 insertions(+), 10 deletions(-) diff --git a/[refs] b/[refs] index dba52000270d..5cd4897069b3 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: b71fc079b5d8f42b2a52743c8d2f1d35d655b1c5 +refs/heads/master: aaf7d73e54b6915310ece11aedb19ec06a833642 diff --git a/trunk/fs/ext4/ioctl.c b/trunk/fs/ext4/ioctl.c index 8b84fe28ccaf..4c8174aa685c 100644 --- a/trunk/fs/ext4/ioctl.c +++ b/trunk/fs/ext4/ioctl.c @@ -404,13 +404,6 @@ long ext4_ioctl(struct file *filp, unsigned int cmd, unsigned long arg) if (!blk_queue_discard(q)) return -EOPNOTSUPP; - if (EXT4_HAS_RO_COMPAT_FEATURE(sb, - EXT4_FEATURE_RO_COMPAT_BIGALLOC)) { - ext4_msg(sb, KERN_ERR, - "FITRIM not supported with bigalloc"); - return -EOPNOTSUPP; - } - if (copy_from_user(&range, (struct fstrim_range __user *)arg, sizeof(range))) return -EFAULT; diff --git a/trunk/fs/ext4/mballoc.c b/trunk/fs/ext4/mballoc.c index 8ec6f88b7a37..a415465f97a0 100644 --- a/trunk/fs/ext4/mballoc.c +++ b/trunk/fs/ext4/mballoc.c @@ -4990,7 +4990,8 @@ int ext4_trim_fs(struct super_block *sb, struct fstrim_range *range) start = range->start >> sb->s_blocksize_bits; end = start + (range->len >> sb->s_blocksize_bits) - 1; - minlen = range->minlen >> sb->s_blocksize_bits; + minlen = EXT4_NUM_B2C(EXT4_SB(sb), + range->minlen >> sb->s_blocksize_bits); if (unlikely(minlen > EXT4_CLUSTERS_PER_GROUP(sb)) || unlikely(start >= max_blks)) @@ -5050,6 +5051,6 @@ int ext4_trim_fs(struct super_block *sb, struct fstrim_range *range) atomic_set(&EXT4_SB(sb)->s_last_trim_minblks, minlen); out: - range->len = trimmed * sb->s_blocksize; + range->len = EXT4_C2B(EXT4_SB(sb), trimmed) << sb->s_blocksize_bits; return ret; }