# File lib/ole/storage/file_system.rb, line 153
      def open path, mode='r', &block
        if IO::Mode.new(mode).create?
          begin
            dirent = dirent_from_path path
          rescue Errno::ENOENT
            # maybe instead of repeating this everywhere, i should have
            # a get_parent_dirent function.
            parent_path, basename = File.split expand_path(path)
            parent = @ole.dir.send :dirent_from_path, parent_path, path
            parent << dirent = Dirent.new(@ole, :type => :file, :name => basename)
          end
        else
          dirent = dirent_from_path path
        end
        dirent.open mode, &block
      end