break;
                }
 
-               err = ubi_eba_write_leb(ubi, vol, lnum, tbuf, off, len,
-                                       UBI_UNKNOWN);
+               err = ubi_eba_write_leb(ubi, vol, lnum, tbuf, off, len);
                if (err)
                        break;
 
                if (req.lnum < 0 || req.lnum >= vol->reserved_pebs ||
                    req.bytes < 0 || req.lnum >= vol->usable_leb_size)
                        break;
-               if (req.dtype != UBI_LONGTERM && req.dtype != UBI_SHORTTERM &&
-                   req.dtype != UBI_UNKNOWN)
-                       break;
 
                err = get_exclusive(desc);
                if (err < 0)
                        err = -EFAULT;
                        break;
                }
-               err = ubi_leb_map(desc, req.lnum, req.dtype);
+               err = ubi_leb_map(desc, req.lnum);
                break;
        }
 
 
                return -ENOMEM;
 
 retry:
-       new_pnum = ubi_wl_get_peb(ubi, UBI_UNKNOWN);
+       new_pnum = ubi_wl_get_peb(ubi);
        if (new_pnum < 0) {
                ubi_free_vid_hdr(ubi, vid_hdr);
                return new_pnum;
  * @buf: the data to write
  * @offset: offset within the logical eraseblock where to write
  * @len: how many bytes to write
- * @dtype: data type
  *
  * This function writes data to logical eraseblock @lnum of a dynamic volume
  * @vol. Returns zero in case of success and a negative error code in case
  * written to the flash media, but may be some garbage.
  */
 int ubi_eba_write_leb(struct ubi_device *ubi, struct ubi_volume *vol, int lnum,
-                     const void *buf, int offset, int len, int dtype)
+                     const void *buf, int offset, int len)
 {
        int err, pnum, tries = 0, vol_id = vol->vol_id;
        struct ubi_vid_hdr *vid_hdr;
        vid_hdr->data_pad = cpu_to_be32(vol->data_pad);
 
 retry:
-       pnum = ubi_wl_get_peb(ubi, dtype);
+       pnum = ubi_wl_get_peb(ubi);
        if (pnum < 0) {
                ubi_free_vid_hdr(ubi, vid_hdr);
                leb_write_unlock(ubi, vol_id, lnum);
  * @lnum: logical eraseblock number
  * @buf: data to write
  * @len: how many bytes to write
- * @dtype: data type
  * @used_ebs: how many logical eraseblocks will this volume contain
  *
  * This function writes data to logical eraseblock @lnum of static volume
  * code in case of failure.
  */
 int ubi_eba_write_leb_st(struct ubi_device *ubi, struct ubi_volume *vol,
-                        int lnum, const void *buf, int len, int dtype,
-                        int used_ebs)
+                        int lnum, const void *buf, int len, int used_ebs)
 {
        int err, pnum, tries = 0, data_size = len, vol_id = vol->vol_id;
        struct ubi_vid_hdr *vid_hdr;
        vid_hdr->data_crc = cpu_to_be32(crc);
 
 retry:
-       pnum = ubi_wl_get_peb(ubi, dtype);
+       pnum = ubi_wl_get_peb(ubi);
        if (pnum < 0) {
                ubi_free_vid_hdr(ubi, vid_hdr);
                leb_write_unlock(ubi, vol_id, lnum);
  * @lnum: logical eraseblock number
  * @buf: data to write
  * @len: how many bytes to write
- * @dtype: data type
  *
  * This function changes the contents of a logical eraseblock atomically. @buf
  * has to contain new logical eraseblock data, and @len - the length of the
  * LEB change may be done at a time. This is ensured by @ubi->alc_mutex.
  */
 int ubi_eba_atomic_leb_change(struct ubi_device *ubi, struct ubi_volume *vol,
-                             int lnum, const void *buf, int len, int dtype)
+                             int lnum, const void *buf, int len)
 {
        int err, pnum, tries = 0, vol_id = vol->vol_id;
        struct ubi_vid_hdr *vid_hdr;
                err = ubi_eba_unmap_leb(ubi, vol, lnum);
                if (err)
                        return err;
-               return ubi_eba_write_leb(ubi, vol, lnum, NULL, 0, 0, dtype);
+               return ubi_eba_write_leb(ubi, vol, lnum, NULL, 0, 0);
        }
 
        vid_hdr = ubi_zalloc_vid_hdr(ubi, GFP_NOFS);
        vid_hdr->data_crc = cpu_to_be32(crc);
 
 retry:
-       pnum = ubi_wl_get_peb(ubi, dtype);
+       pnum = ubi_wl_get_peb(ubi);
        if (pnum < 0) {
                err = pnum;
                goto out_leb_unlock;
 
                if (to_write > total_written)
                        to_write = total_written;
 
-               err = ubi_write(gluebi->desc, lnum, buf, offs, to_write);
+               err = ubi_leb_write(gluebi->desc, lnum, buf, offs, to_write);
                if (err)
                        break;
 
 
  * @buf: data to write
  * @offset: offset within the logical eraseblock where to write
  * @len: how many bytes to write
- * @dtype: expected data type
  *
  * This function writes @len bytes of data from @buf to offset @offset of
- * logical eraseblock @lnum. The @dtype argument describes expected lifetime of
- * the data.
+ * logical eraseblock @lnum.
  *
  * This function takes care of physical eraseblock write failures. If write to
  * the physical eraseblock write operation fails, the logical eraseblock is
  * returns immediately with %-EBADF code.
  */
 int ubi_leb_write(struct ubi_volume_desc *desc, int lnum, const void *buf,
-                 int offset, int len, int dtype)
+                 int offset, int len)
 {
        struct ubi_volume *vol = desc->vol;
        struct ubi_device *ubi = vol->ubi;
            offset & (ubi->min_io_size - 1) || len & (ubi->min_io_size - 1))
                return -EINVAL;
 
-       if (dtype != UBI_LONGTERM && dtype != UBI_SHORTTERM &&
-           dtype != UBI_UNKNOWN)
-               return -EINVAL;
-
        if (vol->upd_marker)
                return -EBADF;
 
        if (len == 0)
                return 0;
 
-       return ubi_eba_write_leb(ubi, vol, lnum, buf, offset, len, dtype);
+       return ubi_eba_write_leb(ubi, vol, lnum, buf, offset, len);
 }
 EXPORT_SYMBOL_GPL(ubi_leb_write);
 
  * @lnum: logical eraseblock number to change
  * @buf: data to write
  * @len: how many bytes to write
- * @dtype: expected data type
  *
  * This function changes the contents of a logical eraseblock atomically. @buf
  * has to contain new logical eraseblock data, and @len - the length of the
  * code in case of failure.
  */
 int ubi_leb_change(struct ubi_volume_desc *desc, int lnum, const void *buf,
-                  int len, int dtype)
+                  int len)
 {
        struct ubi_volume *vol = desc->vol;
        struct ubi_device *ubi = vol->ubi;
            len > vol->usable_leb_size || len & (ubi->min_io_size - 1))
                return -EINVAL;
 
-       if (dtype != UBI_LONGTERM && dtype != UBI_SHORTTERM &&
-           dtype != UBI_UNKNOWN)
-               return -EINVAL;
-
        if (vol->upd_marker)
                return -EBADF;
 
        if (len == 0)
                return 0;
 
-       return ubi_eba_atomic_leb_change(ubi, vol, lnum, buf, len, dtype);
+       return ubi_eba_atomic_leb_change(ubi, vol, lnum, buf, len);
 }
 EXPORT_SYMBOL_GPL(ubi_leb_change);
 
  * ubi_leb_map - map logical eraseblock to a physical eraseblock.
  * @desc: volume descriptor
  * @lnum: logical eraseblock number
- * @dtype: expected data type
  *
  * This function maps an un-mapped logical eraseblock @lnum to a physical
  * eraseblock. This means, that after a successful invocation of this
  * eraseblock is already mapped, and other negative error codes in case of
  * other failures.
  */
-int ubi_leb_map(struct ubi_volume_desc *desc, int lnum, int dtype)
+int ubi_leb_map(struct ubi_volume_desc *desc, int lnum)
 {
        struct ubi_volume *vol = desc->vol;
        struct ubi_device *ubi = vol->ubi;
        if (lnum < 0 || lnum >= vol->reserved_pebs)
                return -EINVAL;
 
-       if (dtype != UBI_LONGTERM && dtype != UBI_SHORTTERM &&
-           dtype != UBI_UNKNOWN)
-               return -EINVAL;
-
        if (vol->upd_marker)
                return -EBADF;
 
        if (vol->eba_tbl[lnum] >= 0)
                return -EBADMSG;
 
-       return ubi_eba_write_leb(ubi, vol, lnum, NULL, 0, 0, dtype);
+       return ubi_eba_write_leb(ubi, vol, lnum, NULL, 0, 0);
 }
 EXPORT_SYMBOL_GPL(ubi_leb_map);
 
 
  * @upd_ebs: how many eraseblocks are expected to be updated
  * @ch_lnum: LEB number which is being changing by the atomic LEB change
  *           operation
- * @ch_dtype: data persistency type which is being changing by the atomic LEB
- *            change operation
  * @upd_bytes: how many bytes are expected to be received for volume update or
  *             atomic LEB change
  * @upd_received: how many bytes were already received for volume update or
 
        int upd_ebs;
        int ch_lnum;
-       int ch_dtype;
        long long upd_bytes;
        long long upd_received;
        void *upd_buf;
 int ubi_eba_read_leb(struct ubi_device *ubi, struct ubi_volume *vol, int lnum,
                     void *buf, int offset, int len, int check);
 int ubi_eba_write_leb(struct ubi_device *ubi, struct ubi_volume *vol, int lnum,
-                     const void *buf, int offset, int len, int dtype);
+                     const void *buf, int offset, int len);
 int ubi_eba_write_leb_st(struct ubi_device *ubi, struct ubi_volume *vol,
-                        int lnum, const void *buf, int len, int dtype,
-                        int used_ebs);
+                        int lnum, const void *buf, int len, int used_ebs);
 int ubi_eba_atomic_leb_change(struct ubi_device *ubi, struct ubi_volume *vol,
-                             int lnum, const void *buf, int len, int dtype);
+                             int lnum, const void *buf, int len);
 int ubi_eba_copy_leb(struct ubi_device *ubi, int from, int to,
                     struct ubi_vid_hdr *vid_hdr);
 int ubi_eba_init_scan(struct ubi_device *ubi, struct ubi_scan_info *si);
 
 /* wl.c */
-int ubi_wl_get_peb(struct ubi_device *ubi, int dtype);
+int ubi_wl_get_peb(struct ubi_device *ubi);
 int ubi_wl_put_peb(struct ubi_device *ubi, int pnum, int torture);
 int ubi_wl_flush(struct ubi_device *ubi);
 int ubi_wl_scrub_peb(struct ubi_device *ubi, int pnum);
 
        dbg_gen("start changing LEB %d:%d, %u bytes",
                vol->vol_id, req->lnum, req->bytes);
        if (req->bytes == 0)
-               return ubi_eba_atomic_leb_change(ubi, vol, req->lnum, NULL, 0,
-                                                req->dtype);
+               return ubi_eba_atomic_leb_change(ubi, vol, req->lnum, NULL, 0);
 
        vol->upd_bytes = req->bytes;
        vol->upd_received = 0;
        vol->changing_leb = 1;
        vol->ch_lnum = req->lnum;
-       vol->ch_dtype = req->dtype;
 
        vol->upd_buf = vmalloc(req->bytes);
        if (!vol->upd_buf)
                        return 0;
                }
 
-               err = ubi_eba_write_leb(ubi, vol, lnum, buf, 0, len,
-                                       UBI_UNKNOWN);
+               err = ubi_eba_write_leb(ubi, vol, lnum, buf, 0, len);
        } else {
                /*
                 * When writing static volume, and this is the last logical
                 * contain zeros, not random trash.
                 */
                memset(buf + len, 0, vol->usable_leb_size - len);
-               err = ubi_eba_write_leb_st(ubi, vol, lnum, buf, len,
-                                          UBI_UNKNOWN, used_ebs);
+               err = ubi_eba_write_leb_st(ubi, vol, lnum, buf, len, used_ebs);
        }
 
        return err;
                       len - vol->upd_bytes);
                len = ubi_calc_data_len(ubi, vol->upd_buf, len);
                err = ubi_eba_atomic_leb_change(ubi, vol, vol->ch_lnum,
-                                               vol->upd_buf, len, UBI_UNKNOWN);
+                                               vol->upd_buf, len);
                if (err)
                        return err;
        }
 
                        return err;
 
                err = ubi_eba_write_leb(ubi, layout_vol, i, ubi->vtbl, 0,
-                                       ubi->vtbl_size, UBI_LONGTERM);
+                                       ubi->vtbl_size);
                if (err)
                        return err;
        }
                        return err;
 
                err = ubi_eba_write_leb(ubi, layout_vol, i, ubi->vtbl, 0,
-                                       ubi->vtbl_size, UBI_LONGTERM);
+                                       ubi->vtbl_size);
                if (err)
                        return err;
        }
 
 /**
  * ubi_wl_get_peb - get a physical eraseblock.
  * @ubi: UBI device description object
- * @dtype: type of data which will be stored in this physical eraseblock
  *
  * This function returns a physical eraseblock in case of success and a
  * negative error code in case of failure. Might sleep.
  */
-int ubi_wl_get_peb(struct ubi_device *ubi, int dtype)
+int ubi_wl_get_peb(struct ubi_device *ubi)
 {
        int err;
        struct ubi_wl_entry *e, *first, *last;
 
-       ubi_assert(dtype == UBI_LONGTERM || dtype == UBI_SHORTTERM ||
-                  dtype == UBI_UNKNOWN);
-
 retry:
        spin_lock(&ubi->wl_lock);
        if (!ubi->free.rb_node) {
                goto retry;
        }
 
-       switch (dtype) {
-       case UBI_LONGTERM:
-               /*
-                * For long term data we pick a physical eraseblock with high
-                * erase counter. But the highest erase counter we can pick is
-                * bounded by the the lowest erase counter plus
-                * %WL_FREE_MAX_DIFF.
-                */
-               e = find_wl_entry(&ubi->free, WL_FREE_MAX_DIFF);
-               break;
-       case UBI_UNKNOWN:
-               /*
-                * For unknown data we pick a physical eraseblock with medium
-                * erase counter. But we by no means can pick a physical
-                * eraseblock with erase counter greater or equivalent than the
-                * lowest erase counter plus %WL_FREE_MAX_DIFF/2.
-                */
-               first = rb_entry(rb_first(&ubi->free), struct ubi_wl_entry,
-                                       u.rb);
-               last = rb_entry(rb_last(&ubi->free), struct ubi_wl_entry, u.rb);
-
-               if (last->ec - first->ec < WL_FREE_MAX_DIFF)
-                       e = rb_entry(ubi->free.rb_node,
-                                       struct ubi_wl_entry, u.rb);
-               else
-                       e = find_wl_entry(&ubi->free, WL_FREE_MAX_DIFF/2);
-               break;
-       case UBI_SHORTTERM:
-               /*
-                * For short term data we pick a physical eraseblock with the
-                * lowest erase counter as we expect it will be erased soon.
-                */
-               e = rb_entry(rb_first(&ubi->free), struct ubi_wl_entry, u.rb);
-               break;
-       default:
-               BUG();
-       }
+       first = rb_entry(rb_first(&ubi->free), struct ubi_wl_entry, u.rb);
+       last = rb_entry(rb_last(&ubi->free), struct ubi_wl_entry, u.rb);
+
+       if (last->ec - first->ec < WL_FREE_MAX_DIFF)
+               e = rb_entry(ubi->free.rb_node, struct ubi_wl_entry, u.rb);
+       else
+               e = find_wl_entry(&ubi->free, WL_FREE_MAX_DIFF/2);
 
        paranoid_check_in_wl_tree(ubi, e, &ubi->free);
 
 
 }
 
 int dbg_leb_write(struct ubifs_info *c, int lnum, const void *buf,
-                 int offs, int len, int dtype)
+                 int offs, int len)
 {
        int err, failing;
 
        failing = power_cut_emulated(c, lnum, 1);
        if (failing)
                cut_data(buf, len);
-       err = ubi_leb_write(c->ubi, lnum, buf, offs, len, dtype);
+       err = ubi_leb_write(c->ubi, lnum, buf, offs, len);
        if (err)
                return err;
        if (failing)
 }
 
 int dbg_leb_change(struct ubifs_info *c, int lnum, const void *buf,
-                  int len, int dtype)
+                  int len)
 {
        int err;
 
                return -EROFS;
        if (power_cut_emulated(c, lnum, 1))
                return -EROFS;
-       err = ubi_leb_change(c->ubi, lnum, buf, len, dtype);
+       err = ubi_leb_change(c->ubi, lnum, buf, len);
        if (err)
                return err;
        if (power_cut_emulated(c, lnum, 1))
        return 0;
 }
 
-int dbg_leb_map(struct ubifs_info *c, int lnum, int dtype)
+int dbg_leb_map(struct ubifs_info *c, int lnum)
 {
        int err;
 
                return -EROFS;
        if (power_cut_emulated(c, lnum, 0))
                return -EROFS;
-       err = ubi_leb_map(c->ubi, lnum, dtype);
+       err = ubi_leb_map(c->ubi, lnum);
        if (err)
                return err;
        if (power_cut_emulated(c, lnum, 0))
 
 int dbg_check_nondata_nodes_order(struct ubifs_info *c, struct list_head *head);
 
 int dbg_leb_write(struct ubifs_info *c, int lnum, const void *buf, int offs,
-                 int len, int dtype);
-int dbg_leb_change(struct ubifs_info *c, int lnum, const void *buf, int len,
-                  int dtype);
+                 int len);
+int dbg_leb_change(struct ubifs_info *c, int lnum, const void *buf, int len);
 int dbg_leb_unmap(struct ubifs_info *c, int lnum);
-int dbg_leb_map(struct ubifs_info *c, int lnum, int dtype);
+int dbg_leb_map(struct ubifs_info *c, int lnum);
 
 /* Debugfs-related stuff */
 int dbg_debugfs_init(void);
 
                return err;
 
        c->gc_lnum = -1;
-       err = ubifs_wbuf_seek_nolock(wbuf, gc_lnum, 0, UBI_LONGTERM);
+       err = ubifs_wbuf_seek_nolock(wbuf, gc_lnum, 0);
        return err;
 }
 
 
 }
 
 int ubifs_leb_write(struct ubifs_info *c, int lnum, const void *buf, int offs,
-                   int len, int dtype)
+                   int len)
 {
        int err;
 
        if (c->ro_error)
                return -EROFS;
        if (!dbg_is_tst_rcvry(c))
-               err = ubi_leb_write(c->ubi, lnum, buf, offs, len, dtype);
+               err = ubi_leb_write(c->ubi, lnum, buf, offs, len);
        else
-               err = dbg_leb_write(c, lnum, buf, offs, len, dtype);
+               err = dbg_leb_write(c, lnum, buf, offs, len);
        if (err) {
                ubifs_err("writing %d bytes to LEB %d:%d failed, error %d",
                          len, lnum, offs, err);
        return err;
 }
 
-int ubifs_leb_change(struct ubifs_info *c, int lnum, const void *buf, int len,
-                    int dtype)
+int ubifs_leb_change(struct ubifs_info *c, int lnum, const void *buf, int len)
 {
        int err;
 
        if (c->ro_error)
                return -EROFS;
        if (!dbg_is_tst_rcvry(c))
-               err = ubi_leb_change(c->ubi, lnum, buf, len, dtype);
+               err = ubi_leb_change(c->ubi, lnum, buf, len);
        else
-               err = dbg_leb_change(c, lnum, buf, len, dtype);
+               err = dbg_leb_change(c, lnum, buf, len);
        if (err) {
                ubifs_err("changing %d bytes in LEB %d failed, error %d",
                          len, lnum, err);
        return err;
 }
 
-int ubifs_leb_map(struct ubifs_info *c, int lnum, int dtype)
+int ubifs_leb_map(struct ubifs_info *c, int lnum)
 {
        int err;
 
        if (c->ro_error)
                return -EROFS;
        if (!dbg_is_tst_rcvry(c))
-               err = ubi_leb_map(c->ubi, lnum, dtype);
+               err = ubi_leb_map(c->ubi, lnum);
        else
-               err = dbg_leb_map(c, lnum, dtype);
+               err = dbg_leb_map(c, lnum);
        if (err) {
                ubifs_err("mapping LEB %d failed, error %d", lnum, err);
                ubifs_ro_mode(c, err);
        dirt = sync_len - wbuf->used;
        if (dirt)
                ubifs_pad(c, wbuf->buf + wbuf->used, dirt);
-       err = ubifs_leb_write(c, wbuf->lnum, wbuf->buf, wbuf->offs, sync_len,
-                             wbuf->dtype);
+       err = ubifs_leb_write(c, wbuf->lnum, wbuf->buf, wbuf->offs, sync_len);
        if (err)
                return err;
 
  * @wbuf: write-buffer
  * @lnum: logical eraseblock number to seek to
  * @offs: logical eraseblock offset to seek to
- * @dtype: data type
  *
  * This function targets the write-buffer to logical eraseblock @lnum:@offs.
  * The write-buffer has to be empty. Returns zero in case of success and a
  * negative error code in case of failure.
  */
-int ubifs_wbuf_seek_nolock(struct ubifs_wbuf *wbuf, int lnum, int offs,
-                          int dtype)
+int ubifs_wbuf_seek_nolock(struct ubifs_wbuf *wbuf, int lnum, int offs)
 {
        const struct ubifs_info *c = wbuf->c;
 
        wbuf->avail = wbuf->size;
        wbuf->used = 0;
        spin_unlock(&wbuf->lock);
-       wbuf->dtype = dtype;
 
        return 0;
 }
                        dbg_io("flush jhead %s wbuf to LEB %d:%d",
                               dbg_jhead(wbuf->jhead), wbuf->lnum, wbuf->offs);
                        err = ubifs_leb_write(c, wbuf->lnum, wbuf->buf,
-                                             wbuf->offs, wbuf->size,
-                                             wbuf->dtype);
+                                             wbuf->offs, wbuf->size);
                        if (err)
                                goto out;
 
                       dbg_jhead(wbuf->jhead), wbuf->lnum, wbuf->offs);
                memcpy(wbuf->buf + wbuf->used, buf, wbuf->avail);
                err = ubifs_leb_write(c, wbuf->lnum, wbuf->buf, wbuf->offs,
-                                     wbuf->size, wbuf->dtype);
+                                     wbuf->size);
                if (err)
                        goto out;
 
                dbg_io("write %d bytes to LEB %d:%d",
                       wbuf->size, wbuf->lnum, wbuf->offs);
                err = ubifs_leb_write(c, wbuf->lnum, buf, wbuf->offs,
-                                     wbuf->size, wbuf->dtype);
+                                     wbuf->size);
                if (err)
                        goto out;
 
                dbg_io("write %d bytes to LEB %d:%d", n, wbuf->lnum,
                       wbuf->offs);
                err = ubifs_leb_write(c, wbuf->lnum, buf + written,
-                                     wbuf->offs, n, wbuf->dtype);
+                                     wbuf->offs, n);
                if (err)
                        goto out;
                wbuf->offs += n;
  * @len: node length
  * @lnum: logical eraseblock number
  * @offs: offset within the logical eraseblock
- * @dtype: node life-time hint (%UBI_LONGTERM, %UBI_SHORTTERM, %UBI_UNKNOWN)
  *
  * This function automatically fills node magic number, assigns sequence
  * number, and calculates node CRC checksum. The length of the @buf buffer has
  * success and a negative error code in case of failure.
  */
 int ubifs_write_node(struct ubifs_info *c, void *buf, int len, int lnum,
-                    int offs, int dtype)
+                    int offs)
 {
        int err, buf_len = ALIGN(len, c->min_io_size);
 
                return -EROFS;
 
        ubifs_prepare_node(c, buf, len, 1);
-       err = ubifs_leb_write(c, lnum, buf, offs, buf_len, dtype);
+       err = ubifs_leb_write(c, lnum, buf, offs, buf_len);
        if (err)
                ubifs_dump_node(c, buf);
 
         */
        size = c->max_write_size - (c->leb_start % c->max_write_size);
        wbuf->avail = wbuf->size = size;
-       wbuf->dtype = UBI_UNKNOWN;
        wbuf->sync_callback = NULL;
        mutex_init(&wbuf->io_mutex);
        spin_lock_init(&wbuf->lock);
 
        err = ubifs_add_bud_to_log(c, jhead, lnum, offs);
        if (err)
                goto out_return;
-       err = ubifs_wbuf_seek_nolock(wbuf, lnum, offs, wbuf->dtype);
+       err = ubifs_wbuf_seek_nolock(wbuf, lnum, offs);
        if (err)
                goto out_unlock;
 
 
                 * an unclean reboot, because the target LEB might have been
                 * unmapped, but not yet physically erased.
                 */
-               err = ubifs_leb_map(c, bud->lnum, UBI_SHORTTERM);
+               err = ubifs_leb_map(c, bud->lnum);
                if (err)
                        goto out_unlock;
        }
        dbg_log("write ref LEB %d:%d",
                c->lhead_lnum, c->lhead_offs);
        err = ubifs_write_node(c, ref, UBIFS_REF_NODE_SZ, c->lhead_lnum,
-                              c->lhead_offs, UBI_SHORTTERM);
+                              c->lhead_offs);
        if (err)
                goto out_unlock;
 
 
        len = ALIGN(len, c->min_io_size);
        dbg_log("writing commit start at LEB %d:0, len %d", c->lhead_lnum, len);
-       err = ubifs_leb_write(c, c->lhead_lnum, cs, 0, len, UBI_SHORTTERM);
+       err = ubifs_leb_write(c, c->lhead_lnum, cs, 0, len);
        if (err)
                goto out;
 
                int sz = ALIGN(*offs, c->min_io_size), err;
 
                ubifs_pad(c, buf + *offs, sz - *offs);
-               err = ubifs_leb_change(c, *lnum, buf, sz, UBI_SHORTTERM);
+               err = ubifs_leb_change(c, *lnum, buf, sz);
                if (err)
                        return err;
                *lnum = ubifs_next_log_lnum(c, *lnum);
                int sz = ALIGN(offs, c->min_io_size);
 
                ubifs_pad(c, buf + offs, sz - offs);
-               err = ubifs_leb_change(c, write_lnum, buf, sz, UBI_SHORTTERM);
+               err = ubifs_leb_change(c, write_lnum, buf, sz);
                if (err)
                        goto out_free;
                offs = ALIGN(offs, c->min_io_size);
 
                        alen = ALIGN(len, c->min_io_size);
                        set_ltab(c, lnum, c->leb_size - alen, alen - len);
                        memset(p, 0xff, alen - len);
-                       err = ubifs_leb_change(c, lnum++, buf, alen,
-                                              UBI_SHORTTERM);
+                       err = ubifs_leb_change(c, lnum++, buf, alen);
                        if (err)
                                goto out;
                        p = buf;
                                set_ltab(c, lnum, c->leb_size - alen,
                                            alen - len);
                                memset(p, 0xff, alen - len);
-                               err = ubifs_leb_change(c, lnum++, buf, alen,
-                                                      UBI_SHORTTERM);
+                               err = ubifs_leb_change(c, lnum++, buf, alen);
                                if (err)
                                        goto out;
                                p = buf;
                        alen = ALIGN(len, c->min_io_size);
                        set_ltab(c, lnum, c->leb_size - alen, alen - len);
                        memset(p, 0xff, alen - len);
-                       err = ubifs_leb_change(c, lnum++, buf, alen,
-                                              UBI_SHORTTERM);
+                       err = ubifs_leb_change(c, lnum++, buf, alen);
                        if (err)
                                goto out;
                        p = buf;
                alen = ALIGN(len, c->min_io_size);
                set_ltab(c, lnum, c->leb_size - alen, alen - len);
                memset(p, 0xff, alen - len);
-               err = ubifs_leb_change(c, lnum++, buf, alen, UBI_SHORTTERM);
+               err = ubifs_leb_change(c, lnum++, buf, alen);
                if (err)
                        goto out;
                p = buf;
 
        /* Write remaining buffer */
        memset(p, 0xff, alen - len);
-       err = ubifs_leb_change(c, lnum, buf, alen, UBI_SHORTTERM);
+       err = ubifs_leb_change(c, lnum, buf, alen);
        if (err)
                goto out;
 
 
                                alen = ALIGN(wlen, c->min_io_size);
                                memset(buf + offs, 0xff, alen - wlen);
                                err = ubifs_leb_write(c, lnum, buf + from, from,
-                                                      alen, UBI_SHORTTERM);
+                                                      alen);
                                if (err)
                                        return err;
                        }
                        wlen = offs - from;
                        alen = ALIGN(wlen, c->min_io_size);
                        memset(buf + offs, 0xff, alen - wlen);
-                       err = ubifs_leb_write(c, lnum, buf + from, from, alen,
-                                             UBI_SHORTTERM);
+                       err = ubifs_leb_write(c, lnum, buf + from, from, alen);
                        if (err)
                                return err;
                        dbg_chk_lpt_sz(c, 2, c->leb_size - offs);
                        wlen = offs - from;
                        alen = ALIGN(wlen, c->min_io_size);
                        memset(buf + offs, 0xff, alen - wlen);
-                       err = ubifs_leb_write(c, lnum, buf + from, from, alen,
-                                             UBI_SHORTTERM);
+                       err = ubifs_leb_write(c, lnum, buf + from, from, alen);
                        if (err)
                                return err;
                        dbg_chk_lpt_sz(c, 2, c->leb_size - offs);
        wlen = offs - from;
        alen = ALIGN(wlen, c->min_io_size);
        memset(buf + offs, 0xff, alen - wlen);
-       err = ubifs_leb_write(c, lnum, buf + from, from, alen, UBI_SHORTTERM);
+       err = ubifs_leb_write(c, lnum, buf + from, from, alen);
        if (err)
                return err;
 
 
        c->mst_offs = offs;
        c->mst_node->highest_inum = cpu_to_le64(c->highest_inum);
 
-       err = ubifs_write_node(c, c->mst_node, len, lnum, offs, UBI_SHORTTERM);
+       err = ubifs_write_node(c, c->mst_node, len, lnum, offs);
        if (err)
                return err;
 
                if (err)
                        return err;
        }
-       err = ubifs_write_node(c, c->mst_node, len, lnum, offs, UBI_SHORTTERM);
+       err = ubifs_write_node(c, c->mst_node, len, lnum, offs);
 
        return err;
 }
 
                ubifs_assert(c->ohead_offs == 0);
                ubifs_prepare_node(c, c->orph_buf, len, 1);
                len = ALIGN(len, c->min_io_size);
-               err = ubifs_leb_change(c, c->ohead_lnum, c->orph_buf, len,
-                                      UBI_SHORTTERM);
+               err = ubifs_leb_change(c, c->ohead_lnum, c->orph_buf, len);
        } else {
                if (c->ohead_offs == 0) {
                        /* Ensure LEB has been unmapped */
                                return err;
                }
                err = ubifs_write_node(c, c->orph_buf, len, c->ohead_lnum,
-                                      c->ohead_offs, UBI_SHORTTERM);
+                                      c->ohead_offs);
        }
        return err;
 }
 
        mst->flags |= cpu_to_le32(UBIFS_MST_RCVRY);
 
        ubifs_prepare_node(c, mst, UBIFS_MST_NODE_SZ, 1);
-       err = ubifs_leb_change(c, lnum, mst, sz, UBI_SHORTTERM);
+       err = ubifs_leb_change(c, lnum, mst, sz);
        if (err)
                goto out;
-       err = ubifs_leb_change(c, lnum + 1, mst, sz, UBI_SHORTTERM);
+       err = ubifs_leb_change(c, lnum + 1, mst, sz);
        if (err)
                goto out;
 out:
                                        ubifs_pad(c, buf, pad_len);
                                }
                        }
-                       err = ubifs_leb_change(c, lnum, sleb->buf, len,
-                                              UBI_UNKNOWN);
+                       err = ubifs_leb_change(c, lnum, sleb->buf, len);
                        if (err)
                                return err;
                }
                err = ubifs_leb_read(c, lnum, sbuf, 0, offs, 1);
                if (err)
                        return err;
-               return ubifs_leb_change(c, lnum, sbuf, offs, UBI_UNKNOWN);
+               return ubifs_leb_change(c, lnum, sbuf, offs);
        }
 
        return 0;
        }
 
        /* Write back the LEB atomically */
-       err = ubifs_leb_change(c, lnum, sbuf, len, UBI_UNKNOWN);
+       err = ubifs_leb_change(c, lnum, sbuf, len);
        if (err)
                return err;
 
                len -= 1;
        len = ALIGN(len + 1, c->min_io_size);
        /* Atomically write the fixed LEB back again */
-       err = ubifs_leb_change(c, lnum, c->sbuf, len, UBI_UNKNOWN);
+       err = ubifs_leb_change(c, lnum, c->sbuf, len);
        if (err)
                goto out;
        dbg_rcvry("inode %lu at %d:%d size %lld -> %lld",
 
 
        /* Make sure the journal head points to the latest bud */
        err = ubifs_wbuf_seek_nolock(&c->jheads[b->bud->jhead].wbuf,
-                                    b->bud->lnum, c->leb_size - b->free,
-                                    UBI_SHORTTERM);
+                                    b->bud->lnum, c->leb_size - b->free);
 
 out:
        ubifs_release_lprops(c);
 
        sup->rp_size = cpu_to_le64(tmp64);
        sup->ro_compat_version = cpu_to_le32(UBIFS_RO_COMPAT_VERSION);
 
-       err = ubifs_write_node(c, sup, UBIFS_SB_NODE_SZ, 0, 0, UBI_LONGTERM);
+       err = ubifs_write_node(c, sup, UBIFS_SB_NODE_SZ, 0, 0);
        kfree(sup);
        if (err)
                return err;
 
        mst->total_used = cpu_to_le64(UBIFS_INO_NODE_SZ);
 
-       err = ubifs_write_node(c, mst, UBIFS_MST_NODE_SZ, UBIFS_MST_LNUM, 0,
-                              UBI_UNKNOWN);
+       err = ubifs_write_node(c, mst, UBIFS_MST_NODE_SZ, UBIFS_MST_LNUM, 0);
        if (err) {
                kfree(mst);
                return err;
        }
-       err = ubifs_write_node(c, mst, UBIFS_MST_NODE_SZ, UBIFS_MST_LNUM + 1, 0,
-                              UBI_UNKNOWN);
+       err = ubifs_write_node(c, mst, UBIFS_MST_NODE_SZ, UBIFS_MST_LNUM + 1,
+                              0);
        kfree(mst);
        if (err)
                return err;
        key_write_idx(c, &key, &br->key);
        br->lnum = cpu_to_le32(main_first + DEFAULT_DATA_LEB);
        br->len  = cpu_to_le32(UBIFS_INO_NODE_SZ);
-       err = ubifs_write_node(c, idx, tmp, main_first + DEFAULT_IDX_LEB, 0,
-                              UBI_UNKNOWN);
+       err = ubifs_write_node(c, idx, tmp, main_first + DEFAULT_IDX_LEB, 0);
        kfree(idx);
        if (err)
                return err;
        ino->flags = cpu_to_le32(UBIFS_COMPR_FL);
 
        err = ubifs_write_node(c, ino, UBIFS_INO_NODE_SZ,
-                              main_first + DEFAULT_DATA_LEB, 0,
-                              UBI_UNKNOWN);
+                              main_first + DEFAULT_DATA_LEB, 0);
        kfree(ino);
        if (err)
                return err;
                return -ENOMEM;
 
        cs->ch.node_type = UBIFS_CS_NODE;
-       err = ubifs_write_node(c, cs, UBIFS_CS_NODE_SZ, UBIFS_LOG_LNUM,
-                              0, UBI_UNKNOWN);
+       err = ubifs_write_node(c, cs, UBIFS_CS_NODE_SZ, UBIFS_LOG_LNUM, 0);
        kfree(cs);
 
        ubifs_msg("default file-system created");
        int len = ALIGN(UBIFS_SB_NODE_SZ, c->min_io_size);
 
        ubifs_prepare_node(c, sup, UBIFS_SB_NODE_SZ, 1);
-       return ubifs_leb_change(c, UBIFS_SB_LNUM, sup, len, UBI_LONGTERM);
+       return ubifs_leb_change(c, UBIFS_SB_LNUM, sup, len);
 }
 
 /**
        if (err)
                return err;
 
-       return ubifs_leb_change(c, lnum, c->sbuf, len, UBI_UNKNOWN);
+       return ubifs_leb_change(c, lnum, c->sbuf, len);
 }
 
 /**
 
                c->jheads[i].grouped = 1;
        }
 
-       c->jheads[BASEHD].wbuf.dtype = UBI_SHORTTERM;
        /*
         * Garbage Collector head likely contains long-term data and
         * does not need to be synchronized by timer. Also GC head nodes are
         * not grouped.
         */
-       c->jheads[GCHD].wbuf.dtype = UBI_LONGTERM;
        c->jheads[GCHD].wbuf.no_timer = 1;
        c->jheads[GCHD].grouped = 0;
 
 
                                  0, 0, 0);
        if (err)
                return err;
-       err = ubifs_leb_change(c, lnum, c->ileb_buf, c->ileb_len,
-                              UBI_SHORTTERM);
+       err = ubifs_leb_change(c, lnum, c->ileb_buf, c->ileb_len);
        if (err)
                return err;
        dbg_gc("LEB %d wrote %d index nodes", lnum, tot_written);
                }
 
                /* The buffer is full or there are no more znodes to do */
-               err = ubifs_leb_write(c, lnum, c->cbuf, buf_offs, blen,
-                                     UBI_SHORTTERM);
+               err = ubifs_leb_write(c, lnum, c->cbuf, buf_offs, blen);
                if (err)
                        return err;
                buf_offs += blen;
 
  * @avail: number of bytes available in the write-buffer
  * @used:  number of used bytes in the write-buffer
  * @size: write-buffer size (in [@c->min_io_size, @c->max_write_size] range)
- * @dtype: type of data stored in this LEB (%UBI_LONGTERM, %UBI_SHORTTERM,
- * %UBI_UNKNOWN)
  * @jhead: journal head the mutex belongs to (note, needed only to shut lockdep
  *         up by 'mutex_lock_nested()).
  * @sync_callback: write-buffer synchronization callback
        int avail;
        int used;
        int size;
-       int dtype;
        int jhead;
        int (*sync_callback)(struct ubifs_info *c, int lnum, int free, int pad);
        struct mutex io_mutex;
 int ubifs_leb_read(const struct ubifs_info *c, int lnum, void *buf, int offs,
                   int len, int even_ebadmsg);
 int ubifs_leb_write(struct ubifs_info *c, int lnum, const void *buf, int offs,
-                   int len, int dtype);
-int ubifs_leb_change(struct ubifs_info *c, int lnum, const void *buf, int len,
-                    int dtype);
+                   int len);
+int ubifs_leb_change(struct ubifs_info *c, int lnum, const void *buf, int len);
 int ubifs_leb_unmap(struct ubifs_info *c, int lnum);
-int ubifs_leb_map(struct ubifs_info *c, int lnum, int dtype);
+int ubifs_leb_map(struct ubifs_info *c, int lnum);
 int ubifs_is_mapped(const struct ubifs_info *c, int lnum);
 int ubifs_wbuf_write_nolock(struct ubifs_wbuf *wbuf, void *buf, int len);
-int ubifs_wbuf_seek_nolock(struct ubifs_wbuf *wbuf, int lnum, int offs,
-                          int dtype);
+int ubifs_wbuf_seek_nolock(struct ubifs_wbuf *wbuf, int lnum, int offs);
 int ubifs_wbuf_init(struct ubifs_info *c, struct ubifs_wbuf *wbuf);
 int ubifs_read_node(const struct ubifs_info *c, void *buf, int type, int len,
                    int lnum, int offs);
 int ubifs_read_node_wbuf(struct ubifs_wbuf *wbuf, void *buf, int type, int len,
                         int lnum, int offs);
 int ubifs_write_node(struct ubifs_info *c, void *node, int len, int lnum,
-                    int offs, int dtype);
+                    int offs);
 int ubifs_check_node(const struct ubifs_info *c, const void *buf, int lnum,
                     int offs, int quiet, int must_chk_crc);
 void ubifs_prepare_node(struct ubifs_info *c, void *buf, int len, int pad);
 
 int ubi_leb_read(struct ubi_volume_desc *desc, int lnum, char *buf, int offset,
                 int len, int check);
 int ubi_leb_write(struct ubi_volume_desc *desc, int lnum, const void *buf,
-                 int offset, int len, int dtype);
+                 int offset, int len);
 int ubi_leb_change(struct ubi_volume_desc *desc, int lnum, const void *buf,
-                  int len, int dtype);
+                  int len);
 int ubi_leb_erase(struct ubi_volume_desc *desc, int lnum);
 int ubi_leb_unmap(struct ubi_volume_desc *desc, int lnum);
-int ubi_leb_map(struct ubi_volume_desc *desc, int lnum, int dtype);
+int ubi_leb_map(struct ubi_volume_desc *desc, int lnum);
 int ubi_is_mapped(struct ubi_volume_desc *desc, int lnum);
 int ubi_sync(int ubi_num);
 
 {
        return ubi_leb_read(desc, lnum, buf, offset, len, 0);
 }
-
-/*
- * This function is the same as the 'ubi_leb_write()' functions, but it does
- * not have the data type argument.
- */
-static inline int ubi_write(struct ubi_volume_desc *desc, int lnum,
-                           const void *buf, int offset, int len)
-{
-       return ubi_leb_write(desc, lnum, buf, offset, len, UBI_UNKNOWN);
-}
-
-/*
- * This function is the same as the 'ubi_leb_change()' functions, but it does
- * not have the data type argument.
- */
-static inline int ubi_change(struct ubi_volume_desc *desc, int lnum,
-                                   const void *buf, int len)
-{
-       return ubi_leb_change(desc, lnum, buf, len, UBI_UNKNOWN);
-}
-
 #endif /* !__LINUX_UBI_H__ */