Changeset efb5450 in rtems
- Timestamp:
- 10/17/01 17:57:42 (21 years ago)
- Branches:
- 4.10, 4.11, 4.8, 4.9, 5, master
- Children:
- 606d797c
- Parents:
- 080afec
- Files:
-
- 13 edited
Legend:
- Unmodified
- Added
- Removed
-
c/src/exec/libcsupport/src/link.c
r080afec refb5450 49 49 if ( !parent_loc.ops->evalformake_h ) { 50 50 rtems_filesystem_freenode( &existing_loc ); 51 rtems_filesystem_freenode( &parent_loc );52 51 set_errno_and_return_minus_one( ENOTSUP ); 53 52 } … … 56 55 if ( result != 0 ) { 57 56 rtems_filesystem_freenode( &existing_loc ); 58 rtems_filesystem_freenode( &parent_loc );59 57 set_errno_and_return_minus_one( result ); 60 58 } -
c/src/exec/libcsupport/src/open.c
r080afec refb5450 67 67 int status; 68 68 rtems_filesystem_location_info_t loc; 69 rtems_filesystem_location_info_t *loc_to_free = NULL; 69 70 int eval_flags; 70 71 … … 139 140 /* We were trying to create a file that already exists */ 140 141 rc = EEXIST; 142 loc_to_free = &loc; 141 143 goto done; 142 144 } 145 146 loc_to_free = &loc; 143 147 144 148 /* … … 179 183 if ( iop ) 180 184 rtems_libio_free( iop ); 185 if ( loc_to_free ) 186 rtems_filesystem_freenode( loc_to_free ); 181 187 set_errno_and_return_minus_one( rc ); 182 188 } -
c/src/exec/libcsupport/src/unmount.c
r080afec refb5450 169 169 170 170 *fs_to_unmount = *fs_root_loc->mt_entry; 171 if ( fs_to_unmount->mt_fs_root.node_access != fs_root_loc->node_access ) 171 if ( fs_to_unmount->mt_fs_root.node_access != fs_root_loc->node_access ){ 172 rtems_filesystem_freenode(fs_root_loc); 172 173 set_errno_and_return_minus_one( EACCES ); 174 } 173 175 174 176 /* … … 182 184 the_mount_entry = ( rtems_filesystem_mount_table_entry_t * )the_node; 183 185 if (the_mount_entry->mt_point_node.mt_entry == fs_root_loc->mt_entry ) { 184 set_errno_and_return_minus_one( EBUSY ); 186 rtems_filesystem_freenode(fs_root_loc); 187 set_errno_and_return_minus_one( EBUSY ); 185 188 } 186 189 } -
c/src/exec/libcsupport/src/utime.c
r080afec refb5450 33 33 return -1; 34 34 35 if ( !temp_loc.ops->utime_h ) 35 if ( !temp_loc.ops->utime_h ){ 36 rtems_filesystem_freenode( &temp_loc ); 36 37 set_errno_and_return_minus_one( ENOTSUP ); 38 } 37 39 38 40 result = (*temp_loc.ops->utime_h)( &temp_loc, times->actime, times->modtime ); -
c/src/lib/ChangeLog
r080afec refb5450 1 2001-10-17 Till Straumann <strauman@SLAC.Stanford.EDU> 2 3 * These changes were discussed and reviewed by many people but the 4 primary people were Jennifer Averett <jennifer@OARcorp.com> 5 and Eugeny Mints <jack@oktet.ru>. 6 * libc/utime.c: Add missing call to rtems_filesystem_freenode() 7 at verification that utime is supported by the filesystem. 8 * libc/link.c: Remove calls to freenode when the node was 9 not successfully allocated. 10 * libc/unmount.c: In the method file_systems_below_this_mountpoint() 11 added calls to correctly free fs_root_loc when a failure occurs. 12 * libc/open.c: Add freenode calls upon failure. 13 * libc/open.c, lib/libc/close.c: (PENDING -- NOT INCLUDED THIS TIMER) 14 Modifications the move the freenode from open() to close() (also part 15 of this patch) are pending further discussion. 16 1 17 2001-10-16 Ralf Corsepius <corsepiu@faw.uni-ulm.de> 2 18 -
c/src/lib/libc/link.c
r080afec refb5450 49 49 if ( !parent_loc.ops->evalformake_h ) { 50 50 rtems_filesystem_freenode( &existing_loc ); 51 rtems_filesystem_freenode( &parent_loc );52 51 set_errno_and_return_minus_one( ENOTSUP ); 53 52 } … … 56 55 if ( result != 0 ) { 57 56 rtems_filesystem_freenode( &existing_loc ); 58 rtems_filesystem_freenode( &parent_loc );59 57 set_errno_and_return_minus_one( result ); 60 58 } -
c/src/lib/libc/open.c
r080afec refb5450 67 67 int status; 68 68 rtems_filesystem_location_info_t loc; 69 rtems_filesystem_location_info_t *loc_to_free = NULL; 69 70 int eval_flags; 70 71 … … 139 140 /* We were trying to create a file that already exists */ 140 141 rc = EEXIST; 142 loc_to_free = &loc; 141 143 goto done; 142 144 } 145 146 loc_to_free = &loc; 143 147 144 148 /* … … 179 183 if ( iop ) 180 184 rtems_libio_free( iop ); 185 if ( loc_to_free ) 186 rtems_filesystem_freenode( loc_to_free ); 181 187 set_errno_and_return_minus_one( rc ); 182 188 } -
c/src/lib/libc/unmount.c
r080afec refb5450 169 169 170 170 *fs_to_unmount = *fs_root_loc->mt_entry; 171 if ( fs_to_unmount->mt_fs_root.node_access != fs_root_loc->node_access ) 171 if ( fs_to_unmount->mt_fs_root.node_access != fs_root_loc->node_access ){ 172 rtems_filesystem_freenode(fs_root_loc); 172 173 set_errno_and_return_minus_one( EACCES ); 174 } 173 175 174 176 /* … … 182 184 the_mount_entry = ( rtems_filesystem_mount_table_entry_t * )the_node; 183 185 if (the_mount_entry->mt_point_node.mt_entry == fs_root_loc->mt_entry ) { 184 set_errno_and_return_minus_one( EBUSY ); 186 rtems_filesystem_freenode(fs_root_loc); 187 set_errno_and_return_minus_one( EBUSY ); 185 188 } 186 189 } -
c/src/lib/libc/utime.c
r080afec refb5450 33 33 return -1; 34 34 35 if ( !temp_loc.ops->utime_h ) 35 if ( !temp_loc.ops->utime_h ){ 36 rtems_filesystem_freenode( &temp_loc ); 36 37 set_errno_and_return_minus_one( ENOTSUP ); 38 } 37 39 38 40 result = (*temp_loc.ops->utime_h)( &temp_loc, times->actime, times->modtime ); -
cpukit/libcsupport/src/link.c
r080afec refb5450 49 49 if ( !parent_loc.ops->evalformake_h ) { 50 50 rtems_filesystem_freenode( &existing_loc ); 51 rtems_filesystem_freenode( &parent_loc );52 51 set_errno_and_return_minus_one( ENOTSUP ); 53 52 } … … 56 55 if ( result != 0 ) { 57 56 rtems_filesystem_freenode( &existing_loc ); 58 rtems_filesystem_freenode( &parent_loc );59 57 set_errno_and_return_minus_one( result ); 60 58 } -
cpukit/libcsupport/src/open.c
r080afec refb5450 67 67 int status; 68 68 rtems_filesystem_location_info_t loc; 69 rtems_filesystem_location_info_t *loc_to_free = NULL; 69 70 int eval_flags; 70 71 … … 139 140 /* We were trying to create a file that already exists */ 140 141 rc = EEXIST; 142 loc_to_free = &loc; 141 143 goto done; 142 144 } 145 146 loc_to_free = &loc; 143 147 144 148 /* … … 179 183 if ( iop ) 180 184 rtems_libio_free( iop ); 185 if ( loc_to_free ) 186 rtems_filesystem_freenode( loc_to_free ); 181 187 set_errno_and_return_minus_one( rc ); 182 188 } -
cpukit/libcsupport/src/unmount.c
r080afec refb5450 169 169 170 170 *fs_to_unmount = *fs_root_loc->mt_entry; 171 if ( fs_to_unmount->mt_fs_root.node_access != fs_root_loc->node_access ) 171 if ( fs_to_unmount->mt_fs_root.node_access != fs_root_loc->node_access ){ 172 rtems_filesystem_freenode(fs_root_loc); 172 173 set_errno_and_return_minus_one( EACCES ); 174 } 173 175 174 176 /* … … 182 184 the_mount_entry = ( rtems_filesystem_mount_table_entry_t * )the_node; 183 185 if (the_mount_entry->mt_point_node.mt_entry == fs_root_loc->mt_entry ) { 184 set_errno_and_return_minus_one( EBUSY ); 186 rtems_filesystem_freenode(fs_root_loc); 187 set_errno_and_return_minus_one( EBUSY ); 185 188 } 186 189 } -
cpukit/libcsupport/src/utime.c
r080afec refb5450 33 33 return -1; 34 34 35 if ( !temp_loc.ops->utime_h ) 35 if ( !temp_loc.ops->utime_h ){ 36 rtems_filesystem_freenode( &temp_loc ); 36 37 set_errno_and_return_minus_one( ENOTSUP ); 38 } 37 39 38 40 result = (*temp_loc.ops->utime_h)( &temp_loc, times->actime, times->modtime );
Note: See TracChangeset
for help on using the changeset viewer.