parent
ee8a73fdde
commit
6fa39039f4
1 changed files with 2 additions and 9 deletions
|
@ -65,7 +65,7 @@ void jfs_issue_discard(struct inode *ip, u64 blkno, u64 nblocks)
|
|||
int jfs_ioc_trim(struct inode *ip, struct fstrim_range *range)
|
||||
{
|
||||
struct inode *ipbmap = JFS_SBI(ip->i_sb)->ipbmap;
|
||||
struct bmap *bmp;
|
||||
struct bmap *bmp = JFS_SBI(ip->i_sb)->bmap;
|
||||
struct super_block *sb = ipbmap->i_sb;
|
||||
int agno, agno_end;
|
||||
u64 start, end, minlen;
|
||||
|
@ -83,15 +83,10 @@ int jfs_ioc_trim(struct inode *ip, struct fstrim_range *range)
|
|||
if (minlen == 0)
|
||||
minlen = 1;
|
||||
|
||||
down_read(&sb->s_umount);
|
||||
bmp = JFS_SBI(ip->i_sb)->bmap;
|
||||
|
||||
if (minlen > bmp->db_agsize ||
|
||||
start >= bmp->db_mapsize ||
|
||||
range->len < sb->s_blocksize) {
|
||||
up_read(&sb->s_umount);
|
||||
range->len < sb->s_blocksize)
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (end >= bmp->db_mapsize)
|
||||
end = bmp->db_mapsize - 1;
|
||||
|
@ -105,8 +100,6 @@ int jfs_ioc_trim(struct inode *ip, struct fstrim_range *range)
|
|||
trimmed += dbDiscardAG(ip, agno, minlen);
|
||||
agno++;
|
||||
}
|
||||
|
||||
up_read(&sb->s_umount);
|
||||
range->len = trimmed << sb->s_blocksize_bits;
|
||||
|
||||
return 0;
|
||||
|
|
Loading…
Reference in a new issue