Author: wmb Date: Mon Sep 13 08:34:04 2010 New Revision: 1954 URL: http://tracker.coreboot.org/trac/openfirmware/changeset/1954
Log: OLPC trac 10359 - fixed ext2 symlink deletion.
Modified: ofw/fs/ext2fs/dir.fth ofw/fs/ext2fs/methods.fth
Modified: ofw/fs/ext2fs/dir.fth ============================================================================== --- ofw/fs/ext2fs/dir.fth Sun Sep 12 21:55:16 2010 (r1953) +++ ofw/fs/ext2fs/dir.fth Mon Sep 13 08:34:04 2010 (r1954) @@ -190,7 +190,10 @@
\ Delete the currently selected inode. Does not affect the directory entry, if any. : idelete ( -- ) - delete-blocks + \ Short symlinks hold no blocks, but have a string in the direct block list, + \ so we must not interpret that string as a block list. + #blks-held if delete-blocks then + \ clear #blks-held, link-count, etc. 0 +i /inode 6 /l* /string erase
Modified: ofw/fs/ext2fs/methods.fth ============================================================================== --- ofw/fs/ext2fs/methods.fth Sun Sep 12 21:55:16 2010 (r1953) +++ ofw/fs/ext2fs/methods.fth Mon Sep 13 08:34:04 2010 (r1954) @@ -30,7 +30,7 @@
0 instance value renaming? : $delete ( name$ -- error? ) - $find-file if true exit then ( ) + $resolve-path if true exit then ( )
\ It's okay to delete a directory if it is a rename, because a \ hardlinked copy has just been made