I came to a similar conclusion last night after digging deeper into the problem. My capture sets are individual image frames of a video, but there is no reason I can't write them contiguously to the SSD and extract them to a mechanical hard disk as individual files after capture is complete. I intend to try to store information between sessions regarding which portion of the SSD was written to and continue the next session after that in a ring-buffer fashion in order to extend the SSD life. What's not clear to me is whether there would be an advantage to extending the writes with 0's to block boundaries?

Anyway, thanks for the response. I still wish NILFS was an option here since it makes it easier to debug if a filesystem is in place, but it sounds like NILFS wasn't design with a temporary high-speed spool-type application in mind.

thanks,
Byron

On Sep 24, 2009, at 12:34 PM, Yann E. MORIN wrote:

Byron,
All,

On Wednesday 23 September 2009 18:38:00 Byron Guernsey wrote:
In my application I have to run many capture sets- as many as 1000,
with each being as large as about 28GB.  After a capture completes, I
can move it off the spool storage and onto a slower mechanical hard
disc.  This is intended to free up space on the SSD for the next
capture set.
[--SNIP--]
I know what you're thinking- a RAM drive is really what I need, and I
agree.  But a $150 SSD is cheaper than a server-class motherboard and
32GB of ram to use for a ram drive.  So I'm working within a budget
and an SSD with NILFS works fine, except for when I need to delete the
files and reclaim space.

I don't think you even need a file system for this...

If your capture set is one big file, then directly use the raw device:
- add the user running the capture to the group 'disk'
- have the SSD raw device be group-writeable
- direct your capture output to the raw device
- copy the raw device content to long-term storage (eg with dd)

If you use multiple files for your capture:
- do you know in advance the number of files?
- is this number small (eg. <16)?
- do you know in advance the size of each file?
- if you answered yes to all three questions, then create appropriate
 partitions on your device, and direct each capture "stream" to one
 partition, as presented above.
- if you answered no to any of the above, then you'll indeed need a
 file system.

Maybe unomuting and re-mounting the partition would be a solution,
but you'd need root access, or make a small suid program that does
the mount/umount for you.

Regards,
Yann E. MORIN.

--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +0/33 662376056 | Software Designer | \ / CAMPAIGN | ___ | | --==< ^_^ >==-- `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | `------------------------------^-------^------------------ ^--------------------'



Attachment: smime.p7s
Description: S/MIME cryptographic signature

_______________________________________________
users mailing list
[email protected]
https://www.nilfs.org/mailman/listinfo/users

Reply via email to