Ну вот, следующий пример, он объединяет оба варианта (очень сильно изменённые). Они насколько свелись почти к одинаковости, что используют просто общие включаемые файлы в оба дерева проектов, а сами включающие файлы содержат только инициализацию и завершение, которые два автора видят чуть по-разному.Olej писал(а): Повозившись этот пример можно трансформировать в работающий (со свежим ядром), ... но только он тогда превращается практически в пример из (отличаясь только именами переменных ):
Теперь это выглядит так:
Код: Выделить всё
[root@notebook block_mod.LDD_35]# insmod block_mod_c.ko
[root@notebook block_mod.ELDD_14]# insmod block_mod_e.ko
[root@notebook block_mod.ELDD_14]# lsmod | grep ^block
block_mod_e 12728 0
block_mod_c 12709 0
block_mod_e - «Essential Linux Device Drivers»
И поехали ... так теперь переименованы дисковые устройства (чтоб похожи были):
Код: Выделить всё
[root@notebook block_mod.ELDD_14]# ls -l /dev/x*
brw-rw---- 1 root disk 252, 0 нояб. 9 20:06 /dev/xbc
brw-rw---- 1 root disk 251, 0 нояб. 9 20:06 /dev/xbe
Код: Выделить всё
[root@notebook block_mod.ELDD_14]# mkfs.ext2 /dev/xbc
...
[root@notebook block_mod.ELDD_14]# mkfs.ext2 /dev/xbe
...
[root@notebook block_mod.ELDD_14]# mkdir /mnt/dskc
[root@notebook block_mod.ELDD_14]# mkdir /mnt/dske
[root@notebook block_mod.ELDD_14]# mount /dev/xbc /mnt/dskc
[root@notebook block_mod.ELDD_14]# mount /dev/xbe /mnt/dske
[root@notebook block_mod.ELDD_14]# tree /mnt
/mnt
├── dskc
│ └── lost+found
├── dske
│ └── lost+found
├── efi
└── iso
6 directories, 0 files
[root@notebook block_mod.ELDD_14]# fdisk -l /dev/xbe
Диск /dev/xbe: 16 МБ, 16777216 байт
255 heads, 63 sectors/track, 2 cylinders, всего 32768 секторов
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Код: Выделить всё
[root@notebook block_mod.ELDD_14]# echo qwertyuiop[] >> /mnt/dskc/f
[root@notebook block_mod.ELDD_14]# ls -l /mnt/dskc/
итого 13
-rw-r--r-- 1 root root 13 нояб. 9 20:36 f
drwx------ 2 root root 12288 нояб. 9 20:25 lost+found
[root@notebook block_mod.ELDD_14]# cp /mnt/dskc/f /mnt/dske/f
[root@notebook block_mod.ELDD_14]# ls -l /mnt/dske/
итого 13
-rw-r--r-- 1 root root 13 нояб. 9 20:37 f
drwx------ 2 root root 12288 нояб. 9 20:26 lost+found
[root@notebook block_mod.ELDD_14]# cat /mnt/dske/f
qwertyuiop[]
Код: Выделить всё
[root@notebook block_mod.LDD_35]# ./block_test
**** return code from write = 8488
**** retrun code from lseek(1000) = 1000
**** retrun code from read vec[250] = 4, vec[250] = 250
Код: Выделить всё
[root@notebook block_mod.LDD_35]# ls -l /mnt/dskc
итого 10331131637612
b--sr-srwt 11785 959711591 151652963 56, 52 нояб. 17 1999 lost+found