.mso www.tmac .TH fusefile 8 .SH NAME fusefile \- FUSE file mount for combining file fragments .SH SYNOPSIS .B fusefile \fR[fuse options\fR] \fBmountpoint\fR \fIfilename/from-to\fR ... .SH DESCRIPTION \fBfusefile\fR is FUSE file mount that presents a series of fragments of other files as a contiguous concatenation. It bind mounts a driver on top of the file mountpoint to present the nominated file fragments as a single, contiguous file. It accepts over-writing on the fused file which gets distributed accordingly to the fragments, but cannot change size. The fragment arguments include the filename of a source file, and optionally start and end byte positions. All in all there five variations: .TP \fIfilename\fR or \fIfilename/\fR include all of the file. A pathname that includes "/" must be ended with an extra "/" since that last "/" separates the filename from the range detail. .TP \fIfilename/start:end\fR include the range from the given start to end. Either "start" or "end" or both may be omitted, to mean the beginning and end of the file respectively. If "start" or "end" are less than 0 then it means relative to the end of the file. .TP \fIfilename/start+length\fR include "length" bytes from the given start. A negative "start" means relative to the end of the file. If "length" is negative or omitted it means that position relative to the end. .TP \fIfilename/start\fR include bytes from the given start. This is the same as "/start+" .P Note that a negative start position is clipped to 0 and a too large end position is clipped to the end of the file. .P Charater devices are treated as being of any given finite size, but have size 0 by default. For example, "/dev/zero/:100" means a fragment of 100 NUL bytes. .SH EXAMPLES Insert file "y" into file "x" at position 1200: .RS \fB$ fusefile -ononempty x x/:1200 y x/1200:\fR .RE The bind mount shadows the original file "x", and presents the fused file instead. Make fused file y be a swap of the beginning and end of file "x", at position 2442: .RS \fB$ fusefile y x/2442: x/:2442\fR .RE .SH NOTES Note that \fBfusefile\fR opens the nominated source file or files before bind mounting. With the fuse option \fI-ononempty\fR it will bind over an non-empty file, which may be useful. The source file descriptors remain open, but the source fragments are not recomputed. If a source file changes the fused file will present the new content. If a source is reduced in size, access will be inconsistent. If the mountpoint file doesn't exist, then \fBfusefile\fR creates it, and removes it when unmounted. .SH AUTHOR Ralph Rönnquist