diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 1999-11-05 21:10:54 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 1999-11-05 21:10:54 +0000 |
commit | 94b357c2b31be20b51784dc6f2ae837d58777cbd (patch) | |
tree | 73e3ec3694451a65df6b0688e3e0e04175ea0528 /c/src/lib/libc/imfs_fsunmount.c | |
parent | Removed. (diff) | |
download | rtems-94b357c2b31be20b51784dc6f2ae837d58777cbd.tar.bz2 |
Unmount was failing as a side-effect of splitting the rmnod handler
and not handling every case properly.
Diffstat (limited to 'c/src/lib/libc/imfs_fsunmount.c')
-rw-r--r-- | c/src/lib/libc/imfs_fsunmount.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/c/src/lib/libc/imfs_fsunmount.c b/c/src/lib/libc/imfs_fsunmount.c index 7a091c6fa3..9ca5f4c9fe 100644 --- a/c/src/lib/libc/imfs_fsunmount.c +++ b/c/src/lib/libc/imfs_fsunmount.c @@ -42,6 +42,11 @@ #define jnode_get_first_child( jnode ) \ ((IMFS_jnode_t *)( Chain_Head( jnode_get_control( jnode ) )->next)) +/* XXX should be in a more public place */ + +extern int IMFS_Set_handlers( + rtems_filesystem_location_info_t *loc +); int IMFS_fsunmount( rtems_filesystem_mount_table_entry_t *temp_mt_entry @@ -59,7 +64,6 @@ int IMFS_fsunmount( jnode = (IMFS_jnode_t *)temp_mt_entry->mt_fs_root.node_access; loc = temp_mt_entry->mt_fs_root; - /* * Set this to null to indicate that it is being unmounted. @@ -70,6 +74,7 @@ int IMFS_fsunmount( do { next = jnode->Parent; loc.node_access = (void *)jnode; + IMFS_Set_handlers( &loc ); if ( jnode->type != IMFS_DIRECTORY ) { result = IMFS_unlink( &loc ); |