Lines Matching refs:start
100 int hpfs_chk_sectors(struct super_block *s, secno start, int len, char *msg) in hpfs_chk_sectors() argument
102 if (start + len < start || start < 0x12 || in hpfs_chk_sectors()
103 start + len > hpfs_sb(s)->sb_fs_size) { in hpfs_chk_sectors()
104 hpfs_error(s, "sector(s) '%s' badly placed at %08x", msg, start); in hpfs_chk_sectors()
110 if (chk_if_allocated(s, start + i, msg)) return 1; in hpfs_chk_sectors()
503 static int do_trim(struct super_block *s, secno start, unsigned len, secno limit_start, secno limit… in do_trim() argument
509 end = start + len; in do_trim()
510 if (start < limit_start) in do_trim()
511 start = limit_start; in do_trim()
514 if (start >= end) in do_trim()
516 if (end - start < minlen) in do_trim()
518 err = sb_issue_discard(s, start, end - start, GFP_NOFS, 0); in do_trim()
521 *result += end - start; in do_trim()
525 int hpfs_trim_fs(struct super_block *s, u64 start, u64 end, u64 minlen, unsigned *result) in hpfs_trim_fs() argument
536 if (start >= sbi->sb_fs_size) in hpfs_trim_fs()
540 if (start < sbi->sb_dirband_start + sbi->sb_dirband_size && end > sbi->sb_dirband_start) { in hpfs_trim_fs()
552 err = do_trim(s, sbi->sb_dirband_start + idx * 4, len * 4, start, end, minlen, result); in hpfs_trim_fs()
559 start_bmp = start >> 14; in hpfs_trim_fs()
573 err = do_trim(s, (start_bmp << 14) + idx, len, start, end, minlen, result); in hpfs_trim_fs()