hpfs: add fstrim support
This patch adds support for fstrim to the HPFS filesystem. Signed-off-by: Mikulas Patocka <mikulas@twibright.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:

committed by
Linus Torvalds

parent
9abea2d64c
commit
a27b5b97d6
@@ -196,6 +196,33 @@ static int hpfs_statfs(struct dentry *dentry, struct kstatfs *buf)
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
long hpfs_ioctl(struct file *file, unsigned cmd, unsigned long arg)
|
||||
{
|
||||
switch (cmd) {
|
||||
case FITRIM: {
|
||||
struct fstrim_range range;
|
||||
secno n_trimmed;
|
||||
int r;
|
||||
if (!capable(CAP_SYS_ADMIN))
|
||||
return -EPERM;
|
||||
if (copy_from_user(&range, (struct fstrim_range __user *)arg, sizeof(range)))
|
||||
return -EFAULT;
|
||||
r = hpfs_trim_fs(file_inode(file)->i_sb, range.start >> 9, (range.start + range.len) >> 9, (range.minlen + 511) >> 9, &n_trimmed);
|
||||
if (r)
|
||||
return r;
|
||||
range.len = (u64)n_trimmed << 9;
|
||||
if (copy_to_user((struct fstrim_range __user *)arg, &range, sizeof(range)))
|
||||
return -EFAULT;
|
||||
return 0;
|
||||
}
|
||||
default: {
|
||||
return -ENOIOCTLCMD;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
static struct kmem_cache * hpfs_inode_cachep;
|
||||
|
||||
static struct inode *hpfs_alloc_inode(struct super_block *sb)
|
||||
|
Reference in New Issue
Block a user