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