[Btrfs-devel] transaction ioctls

Evgeniy Polyakov johnpol at 2ka.mipt.ru
Wed Apr 23 09:21:32 PDT 2008


On Wed, Apr 23, 2008 at 09:23:03AM -0400, Chris Mason (chris.mason at oracle.com) wrote:
> The kind of logging this requires is outside the scope of Btrfs ;)  It is 
> possible if both procs are running in different tree roots, but how about:
> 
> proc A: mkdir dir1
> proc A: create dir1/file1
> proc B: add data to dir1/file1
> proc B: fsync dir1/file1
> proc A: rollback

Depending on where transaction was started and where it was stopped. If
there are exactly two transactions started and stopped at the start and
the end of the 'trace', then rollback of transaction A means rollback of
the inner transactions too.

> Filesystems can be databases, but not with the current APIs.  Userland simply 
> isn't built around these semantics today.

This is a philosiphical disput, I always believed that there is no
difference between database and filesystem, but only access method
changes. And having proper API is just a matter of taste: one can create
ioctl based one to be private feature of the new filesystem. No one
argues that XFS operation system should be transformed into XFS
filesystem and generic VFS helpers (although that could be a good idea).

-- 
	Evgeniy Polyakov



More information about the Btrfs-devel mailing list