clean up driverfs removal of directories
- Make sure we have a valid inode when deleting a dentry - use list_for_each_safe instead of manually walking ->d_subdirs - don't do dget() in driverfs_mknod, since we already have a reference to it via driverfs_create_* - so, remove extra dput() in driverfs_remove_dir and driverfs_remove_file - Don't do get_mount() in driverfs_create_file, since it was done for the directory - so remove extrra put_mount() from driverfs_remove_* - Call d_invalidate() to unhash the files and directories instead of d_delete - Remove our own d_unhash(), since d_invalidate() does the equivalent - inline driverfs_rmdir in driverfs_remove_dir since its the only user and it prevents us from taking the dir's semaphore twice.
Showing
Please register or sign in to comment