Re: [PATCH] btrfs: avoid blocking open_ctree from cleaner_kthread

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

 



On Sun, Jun 12, 2016 at 11:39:58PM -0400, Zygo Blaxell wrote:
> This fixes a problem introduced in commit 2f3165ecf103599f82bf0ea254039db335fb5005
> "btrfs: don't force mounts to wait for cleaner_kthread to delete one or more subvolumes".
> 
> open_ctree eventually calls btrfs_replay_log which in turn calls
> btrfs_commit_super which tries to lock the cleaner_mutex, causing a
> recursive mutex deadlock during mount.
> 
> Instead of playing whack-a-mole trying to keep up with all the
> functions that may want to lock cleaner_mutex, put all the cleaner_mutex
> lockers back where they were, and attack the problem more directly:
> keep cleaner_kthread asleep until the filesystem is mounted.

This approach looks good to me.

> When filesystems are mounted read-only and later remounted read-write,
> open_ctree did not set fs_info->open and neither does anything else.
> Set this flag in btrfs_remount so that neither btrfs_delete_unused_bgs
> nor cleaner_kthread get confused by the common case of "/" filesystem
> read-only mount followed by read-write remount.
> 
> Signed-off-by: Zygo Blaxell <ce3g8jdj@xxxxxxxxxxxxxxxxxxxxx>

Reviewed-by: David Sterba <dsterba@xxxxxxxx>
--
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