On Mon, Dec 28, 2015 at 12:58 PM, Greg Kroah-Hartman <greg@xxxxxxxxx> wrote: > On Mon, Dec 28, 2015 at 12:51:32PM -0800, Rajat Jain wrote: >> Thanks Greg and Al for the quick turnaround. >> >> Essentially I have a device that supports something called "contexts" >> that can be "created" and "destroyed" during the life of the device. I >> want to expose some debug files for the context when it is created, >> and destroy the files when the context is destroyed. However, I'm not >> sure how do I ensure that the user is not in the middle of reading / >> writing / mmaping to those files. Also how do I know that user is >> still not holding a reference to the file structure. > > You don't. > >> It seems like debugfs is currently not a good choice for this? Would >> you recommend me to any other fs or subsystem that I should use for >> this? > > What exactly do you need to export to userspace and for what purpose? > For debugging-only stuff, sure, use debugfs, but don't rely on it for > any "real" tools, only your own debugging. I'm actually writing a driver that would expose a "dummy device" to a real driver. The dummy driver relies on user space to feed in the device attributes (no of supported contexts etc). I am now thinking that a character device interface to user space may actually be a better choice. Question: Does cdev_del() ensure that all references to the file are dropped before it returns? Thanks, Rajat > >> Would hanging those files under the sysfs node for the device sound >> any better (by representing each "context" using an embedded kobject)? > > That would ensure that things work properly. But you don't need a whole > kobject, just use a named group and a subdir will be created properly > for you. > > good luck, > > greg k-h -- To unsubscribe from this list: send the line "unsubscribe linux-newbie" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.linux-learn.org/faqs