|
|
Subscribe / Log in / New account

Btrfs: Send/receive and ioctl()

Btrfs: Send/receive and ioctl()

Posted Jan 25, 2014 12:37 UTC (Sat) by kleptog (subscriber, #1183)
Parent article: Btrfs: Send/receive and ioctl()

I saw "transactions" and thought "yay! finally filesystem level transactions", until I read on and found that "abort" is not available, which kind of defeats the whole purpose.

True filesystem transactions would solve lots of race conditions:

Want a temporary file no-one else can see? Start a transaction, use your temporary file, then when you're done abort the transaction. Completely secure.

Replace a file atomically? Wrap the delete and rename in a transaction. No longer does the kernel need to guess what you want the filesystem to look like if there's a crash.

Package installations can become atomic.

I hope someday this world can come to pass.


to post comments

Btrfs: Send/receive and ioctl()

Posted Jan 26, 2014 14:30 UTC (Sun) by ofranja (guest, #11084) [Link] (1 responses)

The best part of it:

/*
* there are many ways the trans_start and trans_end ioctls can lead
* to deadlocks. They should only be used by applications that
* basically own the machine, and have a very in depth understanding
* of all the possible deadlocks and enospc problems.
*/

Btrfs: Send/receive and ioctl()

Posted Jan 27, 2014 8:15 UTC (Mon) by jezuch (subscriber, #52988) [Link]

>/*
> * there are many ways the trans_start and trans_end ioctls can lead
> * to deadlocks. They should only be used by applications that
> * basically own the machine, and have a very in depth understanding
> * of all the possible deadlocks and enospc problems.
> */

Yeah. Looks like a nice attack vector for DoS :)


Copyright © 2025, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds