Untitled
unknown
plain_text
2 years ago
1.2 kB
5
Indexable
/* rejestracja urządzenia */ numer_gl = register_blkdev(numer_gl, NAZWA); if (numer_gl < 0) { pr_alert("blad przydzialu numeru"); return -EBUSY; } pr_info("Numer dla urzadzenia: %d\n",numer_gl); /* alokacja pamięci dla struktury opisującej urządzenie */ mojblok_disk = alloc_disk(numer_pod); if (!mojblok_disk) { unregister_blkdev(numer_gl, NAZWA); pr_alert("blad alokacji pamieci"); return -ENOMEM; } /* ustawienie parametrów urządzenia */ mojblok_disk->major = numer_gl; mojblok_disk->first_minor = 0; mojblok_disk->fops = &mojblok_fops; mojblok_disk->private_data = NULL; snprintf(mojblok_disk->disk_name, 32, "mojblok"); set_capacity(mojblok_disk, LICZBA_SEKTOROW); /* utworzenie kolejki zgłoszeń */ mojblok_queue = blk_init_queue(mojblok_request, NULL); if (!mojblok_queue) { put_disk(mojblok_disk); unregister_blkdev(numer_gl, NAZWA); pr_alert("blad tworzenia kolejki zgloszen"); return -ENOMEM; } blk_queue_logical_block_size(mojblok_queue, 512); mojblok_disk->queue = mojblok_queue; /* dodanie urządzenia do systemu */ add_disk(mojblok_disk); pr_info("Utworzono urzadzenie blokowe %s o liczbie sektorow %d\n", NAZWA, LICZBA_SEKTOROW);
Editor is loading...