Lines Matching refs:sectors

537 	sector_t sectors = bad->len;
542 ((s + sectors) >= BB_OFFSET(p[behind])) &&
552 * sectors from bad->len.
557 sector_t sectors = bad->len;
563 WARN_ON((s + sectors) < BB_OFFSET(p[behind]));
594 * (from bad table) indexed by 'prev'. The return value is sectors
599 sector_t sectors = bad->len;
607 merged = min_t(sector_t, sectors, BB_END(p[prev]) - s);
609 merged = min_t(sector_t, sectors, BB_MAX_LEN - BB_LEN(p[prev]));
859 static int _badblocks_set(struct badblocks *bb, sector_t s, int sectors,
875 if (sectors == 0)
876 /* Invalid sectors number */
881 sector_t next = s + sectors;
885 sectors = next - s;
891 orig_len = sectors;
897 bad.len = sectors;
957 BB_END(p[prev]) - s, sectors);
987 ((s + sectors) >= BB_END(p[prev + 1]))) {
994 len = sectors;
1013 sectors -= len;
1015 if (sectors > 0)
1018 WARN_ON(sectors < 0);
1042 sectors = orig_len;
1068 * with the clearing range. The return value is how many sectors from an
1076 sector_t sectors = bad->len;
1083 if (BB_LEN(p[prev]) > sectors) {
1084 p[prev] = BB_MAKE(BB_OFFSET(p[prev]) + sectors,
1085 BB_LEN(p[prev]) - sectors,
1087 cleared = sectors;
1089 /* BB_LEN(p[prev]) <= sectors */
1097 if (BB_END(p[prev]) <= (s + sectors)) {
1122 sector_t sectors = bad->len;
1129 p[prev + 1] = BB_MAKE(s + sectors, end - s - sectors, ack);
1130 return sectors;
1134 static int _badblocks_clear(struct badblocks *bb, sector_t s, int sectors)
1146 if (sectors == 0)
1147 /* Invalid sectors number */
1159 target = s + sectors;
1162 sectors = target - s;
1172 bad.len = sectors;
1175 len = sectors;
1189 len = sectors;
1201 len = sectors;
1208 (BB_END(p[prev]) > (bad.start + sectors))) {
1209 len = sectors;
1223 len = sectors;
1247 len = sectors;
1253 sectors -= len;
1255 if (sectors > 0)
1258 WARN_ON(sectors < 0);
1274 static int _badblocks_check(struct badblocks *bb, sector_t s, int sectors,
1284 WARN_ON(bb->shift < 0 || sectors == 0);
1290 target = s + sectors;
1293 sectors = target - s;
1305 bad.len = sectors;
1308 len = sectors;
1317 len = sectors;
1328 if (BB_END(p[prev]) >= (s + sectors))
1329 len = sectors;
1349 len = sectors;
1353 sectors -= len;
1355 if (sectors > 0)
1358 WARN_ON(sectors < 0);
1374 * badblocks_check() - check a given range for bad sectors
1377 * @sectors: number of sectors to check for badblocks
1384 * Length of bad-range, in sectors: 0-511 for lengths 1-512
1407 int badblocks_check(struct badblocks *bb, sector_t s, int sectors,
1410 return _badblocks_check(bb, s, sectors, first_bad, bad_sectors);
1418 * @sectors: number of sectors to mark as bad
1419 * @acknowledged: weather to mark the bad sectors as acknowledged
1429 int badblocks_set(struct badblocks *bb, sector_t s, int sectors,
1432 return _badblocks_set(bb, s, sectors, acknowledged);
1440 * @sectors: number of sectors to mark as bad
1450 int badblocks_clear(struct badblocks *bb, sector_t s, int sectors)
1452 return _badblocks_clear(bb, s, sectors);