This is for adding FITRIM ioctl functionality to exFAT filesystem. Firstly, because the fstrim is long operation, introduce bitmap_lock to narrow the lock range to prevent read operation stall. After that, add generic ioctl function and FITRIM handler. Changelog ========= v3->v4: - Introduce bitmap_lock mutex to narrow the lock range for bitmap access and change to use bitmap_lock instead of s_lock in FITRIM handler to prevent read stall while ongoing fstrim. - Minor code style fix v2->v3: - Remove unnecessary local variable - Merge all changes to a single patch v1->v2: - Change variable declaration order as reverse tree style. - Return -EOPNOTSUPP from sb_issue_discard() just as it is. - Remove cond_resched() in while loop. - Move ioctl related code into it's helper function. Hyeongseok Kim (2): exfat: introduce bitmap_lock for cluster bitmap access exfat: add support ioctl and FITRIM function fs/exfat/balloc.c | 80 +++++++++++++++++++++++++++++++++++++++++++++ fs/exfat/dir.c | 5 +++ fs/exfat/exfat_fs.h | 5 +++ fs/exfat/fatent.c | 37 ++++++++++++++++----- fs/exfat/file.c | 53 ++++++++++++++++++++++++++++++ fs/exfat/super.c | 1 + 6 files changed, 173 insertions(+), 8 deletions(-) -- 2.27.0.83.g0313f36