3 декабря 2020 г. 2:41:14 GMT+03:00, Daeho Jeong <[email protected]> пишет: >Hi Mikhail, > >As you noticed, f2fs already sends discard commands on released blocks. >Do you want to fill the blocks with zero data, instead of sending >discard commands?
Yes, I want to fill the blocks with zero data for multiple times (2 times, for example), because there are some governmental rules which require to do this. I think it does not make much sense on flash memory and HDDs with SMR and other too clever microcontrollers, but it can theoretically still have sense probably. Also, I think, sending a discard commamd after zeroing blocks will be still useful because it is what the memory controller is taught to deal with. Thanks for replying! > >2020년 12월 3일 (목) 오전 4:24, Mikhail Novosyolov via Linux-f2fs-devel ><[email protected]>님이 작성: >> >> 02.12.2020 21:24, Mikhail Novosyolov пишет: >> > Hello, f2fs developers! >> > >> > I saw commit 9af846486d781a63 "f2fs: add F2FS_IOC_SEC_TRIM_FILE >ioctl" in Linux kernel >> > >https://github.com/torvalds/linux/commit/9af846486d781a63de025a5f502c515268e48790# >> > >> > I saw usage of it in Android only >> > >https://android.googlesource.com/platform/system/vold/+/master/secdiscard.cpp >> > >> > Do I understand correctly that userspace code decides himself where >the region to erase starts and when to call that ioctl? >> > >> > I am interested in it to implement realtime secure erase - >overwriting files with zeros or random data (I am not interestied in >sending a discard/trim command) - when files are deleted or are removed >completely. >> > This code seems to be a good solution of this problem, but the >problem is that kernel cannot trigger it by itself. >> What if do something like this? >> >> diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c >> index 7d8578401267..1e72ac27bfdf 100644 >> --- a/fs/f2fs/segment.c >> +++ b/fs/f2fs/segment.c >> @@ -1166,6 +1166,10 @@ static int __submit_discard_cmd(struct >f2fs_sb_info *sbi, >> SECTOR_FROM_BLOCK(start), >> SECTOR_FROM_BLOCK(len), >> GFP_NOFS, 0, &bio); >> + __blkdev_issue_write_zeroes(bdev, >> + SECTOR_FROM_BLOCK(start), >> + SECTOR_FROM_BLOCK(len), >> + GFP_NOFS, 0, &bio); >> submit: >> if (err) { >> spin_lock_irqsave(&dc->lock, flags); >> >> after of before __blkdev_issue_discard()? >> >> Is it safe to fill the region which is being discarded with zeroes? >> >> Will it work and will it fit with background housekeeping and discard >queue? >> >> > >> > I think it should be possible to call this from another part of >f2fs when a file is being edited or unlinked, but I am not sure from >where exactly. >> > >> > F2FS has background housekeeping, it would be nice if it could >issue secure trim in the background. >> > >> > Also, I am not sure that it will work with symlinks correctly, for >example. >> > >> > Please give a direction. >> > >> >> >> _______________________________________________ >> Linux-f2fs-devel mailing list >> [email protected] >> https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel -- Простите за краткость, создано в K-9 Mail. _______________________________________________ Linux-f2fs-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
