Fwd: Linux 4 block device driver infrastructure

Alexandru Goia <[email protected]>
Newsgroups org.kernelnewbies.kernelnewbies
Message-ID <CADmgqahisiAX176EpZH6PnJMFDCq_SmFXYb9MVe9TVbwghVFgQ@mail.gmail.com>
Buna ziua,

Mai jos este un email scris in engleza pentru dezvoltatorii Linux.
Imi puteti raspunde la el, va rog frumos ?

Cu multe multumiri !
Alexandru



Greetings !

I am a Unix/Linux hobbyist from Romania, interested in kernel stuff.
I need some clarifications, related to block device subsystem in Linux 4,
so I will ask them here, if you can answer me, please...

1) Why (in Linux 4) in struct block_device_operations, the (*open)(struct
block_device *, fmode_t)
has a different signature than the (*release)(struct gendisk *, fmode_t) ?
Why open()
uses block_device, while release() uses gendisk ? They are both in a struct
block_device_operations. Why they not refer to the same thing ?

I understand that gendisk refer to a real disk, and block_device (s) to
logical disk (s)
and partitions. But why the kernel developers have chosen to use different
signatures ?

2) Release() is also synonim to close() ?
3) Why is not explicitely present a close() function ?
4) Why struct gendisk does not have inside it pointers to struct
block_device ?

Thank you very much,
Alexander,
Computer hobbyist,
Romania

_______________________________________________
Kernelnewbies mailing list
[email protected]
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.