Re: [BUG] umount command doesn't end forever

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

 



On Fri, Sep 02, 2011 at 05:33:57PM +0900, Tsutomu Itoh wrote:
> In current for-linus branch, I encountered the problem that the
> umount command doesn't end forever.

(snipped)

> umount acquires down_write(&s->s_umount) by deactivate_super() and
> waits for the end of btrfs-cleaner.
> But, btrfs-cleaner stops because of the acquisition waiting of
> down_read(&sb->s_umount) by writeback_inodes_sb_nr_if_idle().

A similar thing happens on remount while balancing, I think I saw this
in some other case too.  It's always due to the fact that vfs acquires
s_umount for read/write and then the writeback code wants to down_read()
it (in case of balancing it has nothing to do with the cleaner thread,
balance calls into writeback by itself).

> So, the deadlock has happened, I think.
> 
>  -Tsutomu
> 
> --
> 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
--
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