2008年8月29日 星期五

random number in driver

get_random_bytes():

ex:
unsigned char uuid[16];
get_random_bytes(uuid, sizeof (uuid));

2008年8月28日 星期四

type definition

struct block_device:
linux/fs.h

dev_t:
linux/types.h

struct page:
linux/mm_types.h

struct gendisk:
linux/genhd.h

struct request_queue:
linux/blkdev.h

wait_queue_head_t:
linux/wait.h

spinlock_t:
linux/spinlock_types.h

struct semaphore:
linux/semaphore.h

2008年8月21日 星期四

dmesg

/var/log/messages

2008年8月19日 星期二

dhclient

get new ip

dm

 //The request function that just remaps the bio built up by dm_merge_bvec
static int dm_request(struct request_queue *q, struct bio *bio)
       call  __split_bio

// Split the bio into several clones.
static int __split_bio(struct mapped_device *md, struct bio *bio)
       call  __clone_and_map with parameter ci
       ( ci.sector_count= bio_sectors(bio)  )

static int __clone_and_map(struct clone_info *ci)
call  split_bvec

2008年8月18日 星期一

sector_t

typedef unsigned long sector_t;

2008年8月17日 星期日

mkfs

create filesystem
ex:
mkfs -v  /dev/hda3