[dm-devel] [PATCH] deadlock with suspend and quotas

Mikulas Patocka mpatocka at redhat.com
Wed Nov 30 17:03:12 UTC 2011


> The sync only needs to block on a particular fs if there is data to flush.
> 
> A sync that originated in a way that can only be independent of any
> application that is changing the fs may skip that fs if it is frozen.
> 
> It's the user's responsibility only to freeze filesystems for very brief
> periods of time if they are still being changed.

The problem is that the process that is freezing filesystem (lvm) is 
totally independent on the process that is writing data to the filesystem 
and syncing it.

For example, you have a transactional database running in userspace and 
that database is writing and syncing and you take a snapshot at the same 
time. --- so you cannot make these two processes cooperate in any way. You 
can't tell to the database server "please don't write now, I am suspending 
to make a snapshot". The database server still writes and still assumes 
that sync() commits to permanent storage, regardless on what is going on 
in lvm.

Mikulas

> ?
>  
> Alasdair




More information about the dm-devel mailing list