Re: [PATCH 2/2] btrfs: fix deadlock when doing reservation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 06/15/2011 06:47 AM, Miao Xie wrote:
> The following deadlock may happen when doing reservation for metadata:
> 
> Task0				Flush thread		Task1
> start_transaction()
>   shrink_delalloc()
>     writeback_inodes_sb_nr()
>       wait for flush thread
>       end.
> 				btrfs_writepages()
> 				  cow_file_range()
> 							btrfs_commit_transaction
> 							  wait num_writer == 1
> 							  (wait Task0 end
> 							   transaction)
> 				  start_transaction()
> 				    wait trans commit
> 				    end
> 
> Task0 -> Flush thread -> Task1 -> Task0
> 
> Fix the above deadlock by doing reservation before the trans handle has
> been joined into the transaction.
> 
> Signed-off-by: Miao Xie <miaox@xxxxxxxxxxxxxx>

I've already taken care of this in

[PATCH 1/2] Btrfs: do transaction space reservation before joining the
transaction

Thanks,

Josef
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Filesystem Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux