• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-WNDR4500v2-V1.0.0.60_1.0.38/src/linux/linux-2.6/drivers/mtd/ubi/

Lines Matching refs:vol

57 	struct ubi_volume *vol = ubi->volumes[vol_id];
61 if (vol->upd_marker) {
71 vol->upd_marker = 1;
90 struct ubi_volume *vol = ubi->volumes[vol_id];
95 ubi_assert(vol->upd_marker && vtbl_rec.upd_marker);
98 if (vol->vol_type == UBI_STATIC_VOLUME) {
99 vol->corrupted = 0;
100 vol->used_bytes = tmp = bytes;
101 vol->last_eb_bytes = do_div(tmp, vol->usable_leb_size);
102 vol->used_ebs = tmp;
103 if (vol->last_eb_bytes)
104 vol->used_ebs += 1;
106 vol->last_eb_bytes = vol->usable_leb_size;
110 vol->upd_marker = 0;
128 struct ubi_volume *vol = ubi->volumes[vol_id];
131 vol->updating = 1;
138 for (i = 0; i < vol->reserved_pebs; i++) {
150 vol->updating = 0;
153 vol->upd_buf = kmalloc(ubi->leb_size, GFP_KERNEL);
154 if (!vol->upd_buf)
158 vol->upd_ebs = !!do_div(tmp, vol->usable_leb_size);
159 vol->upd_ebs += tmp;
160 vol->upd_bytes = bytes;
161 vol->upd_received = 0;
198 struct ubi_volume *vol = ubi->volumes[vol_id];
200 if (vol->vol_type == UBI_DYNAMIC_VOLUME) {
224 memset(buf + len, 0, vol->usable_leb_size - len);
234 * @vol: volume description object
248 struct ubi_volume *vol = ubi->volumes[vol_id];
252 count, vol->upd_bytes, vol->upd_received);
257 tmp = vol->upd_received;
258 offs = do_div(tmp, vol->usable_leb_size);
261 if (vol->upd_received + count > vol->upd_bytes)
262 to_write = count = vol->upd_bytes - vol->upd_received;
276 len = vol->usable_leb_size - offs;
280 err = copy_from_user(vol->upd_buf + offs, buf, len);
284 if (offs + len == vol->usable_leb_size ||
285 vol->upd_received + len == vol->upd_bytes) {
292 ubi_assert(flush_len <= vol->usable_leb_size);
293 err = write_leb(ubi, vol_id, lnum, vol->upd_buf,
294 flush_len, vol->upd_ebs);
299 vol->upd_received += len;
310 if (count > vol->usable_leb_size)
311 len = vol->usable_leb_size;
315 err = copy_from_user(vol->upd_buf, buf, len);
319 if (len == vol->usable_leb_size ||
320 vol->upd_received + len == vol->upd_bytes) {
321 err = write_leb(ubi, vol_id, lnum, vol->upd_buf, len,
322 vol->upd_ebs);
327 vol->upd_received += len;
333 ubi_assert(vol->upd_received <= vol->upd_bytes);
334 if (vol->upd_received == vol->upd_bytes) {
336 err = clear_update_marker(ubi, vol_id, vol->upd_bytes);
342 kfree(vol->upd_buf);
343 vol->updating = 0;