inotify is a very important addition to the NuttX filesystem, but the work isn't small too.
On Thu, Jan 14, 2021 at 10:58 PM Fotis Panagiotopoulos <f.j.pa...@gmail.com> wrote: > Hi, > > So, it seems that it is not possible without kernel modifications. > > I was about to create a new driver to notify my application for such > events, > but as you correctly state, the automounter has to be modified as the > driver > does not know when the automounter has finished, or what was its return > code. > > Unfortunately, I am not sure when I will find time for this modification, > so > I will look for an alternative. > > How are others using the automounter? Has anyone ever had any similar use > case? > > What about an inotify-like system in NuttX? > > Στις Κυρ, 10 Ιαν 2021 στις 10:57 μ.μ., ο/η Gregory Nutt < > spudan...@gmail.com> > έγραψε: > > > Currently board-specific logic supports detection of when a card is > > inserted or removed via a mechanical GPIO pin on the physical SD slot. > > That notification is used by the SDIO-based card driver to check for a > > valid card insertion/removal. > > > > For the case of the automounter with an SD card, the notification comes > > from a lower half driver described in include/nuttx/fs/automount.h. For > > the case of the SD card, this notification probably derives from that > > insertion/removal event. > > > > That is not very useful, however, because the automounter does not > > depend on the SD card slot but could be set up for any removal media > > (such as a USB flash drive). > > > > I think it seems reasonable to add work queue-based, subscriber > > notifications (see included/nuttx/wqueue.h). The automounter could then > > "broadcast" such a notification when a file system is mounted or > > unmounted. Such a notification could solve half of your problem. > > > > The other half of the problem is that the work queue notification is > > usable only within the OS and not by applications. So perhaps some time > > driver would also be needed to register to receive notifications, catch > > the notifications, and signal an application. > > > > It is worth noting that the USB mass storage host driver already uses a > > work-queue notification when USB flash drives are connected. See > > arm/kinetis/freedom-k28f/src/k28_usbhshost.c and > > drivers/usbhost/usbhost_storage.c. That latter file implements its only > > automounter outside of fs_automount.c. It would be good if those were > > consolidated. > > > > On 1/10/2021 6:29 AM, Fotis Panagiotopoulos wrote: > > > Hi everyone, > > > > > > I am working on a NuttX application that will run on a board that has a > > > user-accessible SD card. > > > > > > The user may insert or remove the card during runtime, so I am using > the > > > NuttX automounter. > > > The automounter works nicely, mounting and unmounting the card when it > is > > > inserted/removed. > > > > > > However, I am looking for a way to inform the rest of the system about > > the > > > (un)mount event. > > > > > > This is needed because: > > > 1. If the SD card is present during system boot, the application > > > initialization has to wait for it to be properly mounted before > > proceeding. > > > 2. If the card is inserted during the system operation, the application > > has > > > to read some files from the card, once inserted. > > > > > > Unfortunately, I cannot see any proper way to achieve this. > > > Any suggestions? > > > > > >