Logo Search packages:      
Sourcecode: linux version File versions  Download package

ubi_device Struct Reference

#include <ubi.h>

List of all members.

Detailed Description

struct ubi_device - UBI device description structure : UBI device object to use the the Linux device model : character device object to create character device : UBI device number : UBI device name : number of volumes in this UBI device : volumes of this UBI device : protects , , , beb_rsvd_pebs, , , , , ->readers, ->writers, ->exclusive, ->ref_count, ->mapping and ->eba_tbl. : count of references on the UBI device

: count of reserved physical eraseblocks : count of available physical eraseblocks : how many physical eraseblocks are reserved for bad PEB handling : normal level of PEBs reserved for bad PEB handling

: ID of the volume which has to be auto-resized at the end of UBI ititializetion : how many slots are available in the volume table : size of the volume table in bytes : in-RAM volume table copy : protects on-flash volume table and serializes volume changes, like creation, deletion, update, re-size and re-name

: current highest erase counter value : current mean erase counter value

: global sequence number : protects the lock tree and : the lock tree : serializes "atomic LEB change" operations

: RB-tree of used physical eraseblocks : RB-tree of free physical eraseblocks : RB-tree of physical eraseblocks which need scrubbing : protection trees .pnum: protection tree indexed by physical eraseblock numbers .aec: protection tree indexed by absolute erase counter value : protects the , , , , , , , , , and fields : serializes eraseblock moves : sycnhronizes the WL worker with use tasks : non-zero if the wear-leveling was scheduled : a table to quickly find a &struct ubi_wl_entry object for any physical eraseblock : absolute erase counter : physical eraseblock from where the data is being moved : physical eraseblock where the data is being moved to : if the "to" PEB was put : list of pending works : count of pending works : background thread description object : if the background thread is enabled : background thread name

: underlying MTD device size (in bytes) : count of physical eraseblocks on the MTD device : physical eraseblock size : count of bad physical eraseblocks : count of good physical eraseblocks : minimal input/output unit size of the underlying MTD device : minimal I/O unit size used for VID and EC headers : if the UBI device is in read-only mode : logical eraseblock size : starting offset of logical eraseblocks within physical eraseblocks : size of the EC header aligned to : size of the VID header aligned to : starting offset of the volume identifier header (might be unaligned) : starting offset of the VID header aligned to : contains - : whether the MTD device admits of bad physical eraseblocks or not : MTD device descriptor

: a buffer of PEB size used for different purposes : another buffer of PEB size used for different purposes : proptects and : serializes static volume checking when opening : serializes operations on multiple volumes, like re-nameing : buffer of PEB size used for debugging : proptects

Definition at line 360 of file ubi.h.

Public Attributes

unsigned long long abs_ec
struct mutex alc_mutex
int autoresize_vol_id
int avail_pebs
int bad_allowed
int bad_peb_count
int beb_rsvd_level
int beb_rsvd_pebs
char bgt_name [sizeof(UBI_BGT_NAME_PATTERN)+2]
struct task_struct * bgt_thread
struct mutex buf_mutex
struct cdev cdev
struct mutex ckvol_mutex
struct device dev
int ec_hdr_alsize
long long flash_size
struct rb_root free
unsigned long long global_sqnum
int good_peb_count
int hdrs_min_io_size
int leb_size
int leb_start
struct ubi_wl_entry ** lookuptbl
struct rb_root ltree
spinlock_t ltree_lock
int max_ec
int mean_ec
int min_io_size
struct ubi_wl_entrymove_from
struct mutex move_mutex
struct ubi_wl_entrymove_to
int move_to_put
struct mtd_info * mtd
struct mutex mult_mutex
void * peb_buf1
void * peb_buf2
int peb_count
int peb_size
struct {
   struct rb_root   aec
   struct rb_root   pnum
int ref_count
int ro_mode
int rsvd_pebs
struct rb_root scrub
int thread_enabled
char ubi_name [sizeof(UBI_NAME_STR)+5]
int ubi_num
struct rb_root used
int vid_hdr_aloffset
int vid_hdr_alsize
int vid_hdr_offset
int vid_hdr_shift
int vol_count
struct ubi_volume * volumes [UBI_MAX_VOLUMES+UBI_INT_VOL_COUNT]
spinlock_t volumes_lock
struct mutex volumes_mutex
struct ubi_vtbl_record * vtbl
int vtbl_size
int vtbl_slots
spinlock_t wl_lock
int wl_scheduled
struct rw_semaphore work_sem
struct list_head works
int works_count

The documentation for this struct was generated from the following file:

Generated by  Doxygen 1.6.0   Back to index