From owner-freebsd-chat Mon Jun 5 19:24:42 2000 Delivered-To: freebsd-chat@freebsd.org Received: from lariat.org (lariat.org [12.23.109.2]) by hub.freebsd.org (Postfix) with ESMTP id C754C37B7F2 for ; Mon, 5 Jun 2000 19:24:38 -0700 (PDT) (envelope-from brett@lariat.org) Received: from mustang.lariat.org (IDENT:ppp0.lariat.org@lariat.org [12.23.109.2]) by lariat.org (8.9.3/8.9.3) with ESMTP id UAA19180; Mon, 5 Jun 2000 20:24:03 -0600 (MDT) Message-Id: <4.3.2.7.2.20000605201724.04a17ea0@localhost> X-Sender: brett@localhost X-Mailer: QUALCOMM Windows Eudora Version 4.3.2 Date: Mon, 05 Jun 2000 20:24:00 -0600 To: James Howard From: Brett Glass Subject: Re: Undelete in Unix (Was: Re: Why encourage stupid people to use *BSD) Cc: Narvi , Giorgos Keramidas , "Thomas M. Sommers" , freebsd-chat@FreeBSD.ORG In-Reply-To: References: <4.3.2.7.2.20000605142053.04aa2ee0@localhost> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Sender: owner-freebsd-chat@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org At 04:40 PM 6/5/2000, James Howard wrote: >> I'd do it with an lkm that hooked syscalls. > >DOS did deletioning by zeroing the first character of the file name and >undeleted it by giving that character a value again. It was able to do this because directory entries were in a linear list and were not immediately reused. Unfortunately, if a file had a single-letter name, its directory entry could not be recovered. After the system had been running for awhile, disk space for new files was allocated at the "end" of the disk. This increased recoverability of a file's data clusters at the expense of fragmentation. Unfortunately, deleted files eventually DID get "clobbered," and you never knew when this would occur. (It was more probable that deleted files would get clobbered after an intervening reboot, since the search for free space was restarted at the "beginning" of the disk at boot time.) In short, undeletion under DOS was a kludge and somewhat of a black art. An undelete system should be more reliable than this. --Brett To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-chat" in the body of the message