Not at present. This would require forcing garbage collection to happen
until all blocks with the file of interest get erased. In YAFFS2, this
could be implemented by noting the current block sequence number (or better
yet, the highest block sequence number of the file of interest), then
garbage collecting all older blocks. As YAFFS1 doesn't use the block
sequence numbers, it'd require a different approach, possibly just garbage
collecting all blocks with stale data. Note that you can't just erase all
blocks currently containing pieces of the file, as other blocks may contain
stale pages that represent data that the file used to contain, but that got
replaced by newer pages.
Two notes: (1) the "erase everything old" operations could take considerable
time. (2) You'd need some way to invoke the operation, either by hooking it
into existing operations (say, set file size to zero, then flush), by
creating a new IOCTL, or perhaps finding an IOCTL presently unused by YAFFS
that could logically be taken over for this purpose.
This doesn't seem like rocket science, but it certainly isn't in place at
present.
Good luck,
William
On 10/17/06, goog long <
cecolong@yahoo.com> wrote:
>
> Is there a proper way to force immediate deletion if the data is sensitive
> and we do not want the data is around on NAND?
>
> Ceco
> *goog long <cecolong@yahoo.com>* wrote:
>
> When a file is deleted, it is not immediately erased on flash, but is
> marked as deleted and the actual erasure etc is defered to future garbage
> collection operations. If the file contains sensitive information and we do
> not want to defer the erasure, do we have an option to do it? What is the
> easiest way to do?
>
> Thanks,
> Ceco
>
> --
wjw1961@gmail.com
William J. Watson