Re: Mount stalls indefinitely after enabling quota groups.

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

 



19 hours later, still going extremely slowly and taking longer and
longer for progress made.  Main symptom is the mount process is
spinning at 100% CPU, interspersed with btrfs-transaction spinning at
100% CPU.
So far it's racked up 14h45m of CPU time on mount and an additional
3h40m on btrfs-transaction.

The current drop key changes every 10-15 minutes when I check it via
inspect-internal, so some progress is slowly being made.

I built the kernel with ftrace to see what's going on internally, this
is the pattern I'm seeing:

           mount-6803  [002] ...1 69023.970964: btrfs_next_old_leaf
<-resolve_indirect_refs
           mount-6803  [002] ...1 69023.970965: btrfs_release_path
<-btrfs_next_old_leaf
           mount-6803  [002] ...1 69023.970965: btrfs_search_slot
<-btrfs_next_old_leaf
           mount-6803  [002] ...1 69023.970966:
btrfs_clear_path_blocking <-btrfs_search_slot
           mount-6803  [002] ...1 69023.970966:
btrfs_set_path_blocking <-btrfs_clear_path_blocking
           mount-6803  [002] ...1 69023.970967: btrfs_bin_search
<-btrfs_search_slot
           mount-6803  [002] ...1 69023.970967: btrfs_comp_cpu_keys
<-generic_bin_search.constprop.14
           mount-6803  [002] ...1 69023.970967: btrfs_get_token_64
<-read_block_for_search.isra.12
           mount-6803  [002] ...1 69023.970968: btrfs_get_token_64
<-read_block_for_search.isra.12
           mount-6803  [002] ...1 69023.970968: btrfs_node_key
<-read_block_for_search.isra.12
           mount-6803  [002] ...1 69023.970969: btrfs_buffer_uptodate
<-read_block_for_search.isra.12
           mount-6803  [002] ...1 69023.970969:
btrfs_clear_path_blocking <-btrfs_search_slot
           mount-6803  [002] ...1 69023.970970:
btrfs_set_path_blocking <-btrfs_clear_path_blocking
           mount-6803  [002] ...1 69023.970970: btrfs_bin_search
<-btrfs_search_slot
           mount-6803  [002] ...1 69023.970970: btrfs_comp_cpu_keys
<-generic_bin_search.constprop.14
           mount-6803  [002] ...1 69023.970971: btrfs_comp_cpu_keys
<-generic_bin_search.constprop.14
           mount-6803  [002] ...1 69023.970971: btrfs_comp_cpu_keys
<-generic_bin_search.constprop.14
           mount-6803  [002] ...1 69023.970972: btrfs_comp_cpu_keys
<-generic_bin_search.constprop.14
           mount-6803  [002] ...1 69023.970972: btrfs_comp_cpu_keys
<-generic_bin_search.constprop.14
           mount-6803  [002] ...1 69023.970973: btrfs_comp_cpu_keys
<-generic_bin_search.constprop.14
           mount-6803  [002] ...1 69023.970973: btrfs_comp_cpu_keys
<-generic_bin_search.constprop.14
           mount-6803  [002] ...1 69023.970973: btrfs_comp_cpu_keys
<-generic_bin_search.constprop.14
           mount-6803  [002] ...1 69023.970974: btrfs_comp_cpu_keys
<-generic_bin_search.constprop.14
           mount-6803  [002] ...1 69023.970974: btrfs_get_token_64
<-read_block_for_search.isra.12
           mount-6803  [002] ...1 69023.970975: btrfs_get_token_64
<-read_block_for_search.isra.12
           mount-6803  [002] ...1 69023.970975: btrfs_node_key
<-read_block_for_search.isra.12
           mount-6803  [002] ...1 69023.970976: btrfs_buffer_uptodate
<-read_block_for_search.isra.12
           mount-6803  [002] ...1 69023.970976:
btrfs_clear_path_blocking <-btrfs_search_slot
           mount-6803  [002] ...1 69023.970976:
btrfs_set_path_blocking <-btrfs_clear_path_blocking
           mount-6803  [002] ...1 69023.970977: btrfs_bin_search
<-btrfs_search_slot
           mount-6803  [002] ...1 69023.970977: btrfs_comp_cpu_keys
<-generic_bin_search.constprop.14
           mount-6803  [002] ...1 69023.970978: btrfs_comp_cpu_keys
<-generic_bin_search.constprop.14
           mount-6803  [002] ...1 69023.970978: btrfs_comp_cpu_keys
<-generic_bin_search.constprop.14
           mount-6803  [002] ...1 69023.970978: btrfs_comp_cpu_keys
<-generic_bin_search.constprop.14
           mount-6803  [002] ...1 69023.970979: btrfs_comp_cpu_keys
<-generic_bin_search.constprop.14
           mount-6803  [002] ...1 69023.970979: btrfs_comp_cpu_keys
<-generic_bin_search.constprop.14
           mount-6803  [002] ...1 69023.970980: btrfs_comp_cpu_keys
<-generic_bin_search.constprop.14
           mount-6803  [002] ...1 69023.970980: btrfs_comp_cpu_keys
<-generic_bin_search.constprop.14
           mount-6803  [002] ...1 69023.970980: btrfs_comp_cpu_keys
<-generic_bin_search.constprop.14
           mount-6803  [002] ...1 69023.970981: btrfs_get_token_64
<-read_block_for_search.isra.12
           mount-6803  [002] ...1 69023.970981: btrfs_get_token_64
<-read_block_for_search.isra.12
           mount-6803  [002] ...1 69023.970982: btrfs_node_key
<-read_block_for_search.isra.12
           mount-6803  [002] ...1 69023.970982: btrfs_buffer_uptodate
<-read_block_for_search.isra.12
           mount-6803  [002] ...1 69023.970983:
btrfs_clear_path_blocking <-btrfs_search_slot
           mount-6803  [002] ...1 69023.970983:
btrfs_set_path_blocking <-btrfs_clear_path_blocking
           mount-6803  [002] ...1 69023.970984: btrfs_bin_search
<-btrfs_search_slot
           mount-6803  [002] ...1 69023.970984: btrfs_comp_cpu_keys
<-generic_bin_search.constprop.14
           mount-6803  [002] ...1 69023.970984: btrfs_comp_cpu_keys
<-generic_bin_search.constprop.14
           mount-6803  [002] ...1 69023.970985: btrfs_comp_cpu_keys
<-generic_bin_search.constprop.14
           mount-6803  [002] ...1 69023.970985: btrfs_comp_cpu_keys
<-generic_bin_search.constprop.14
           mount-6803  [002] ...1 69023.970986: btrfs_comp_cpu_keys
<-generic_bin_search.constprop.14
           mount-6803  [002] ...1 69023.970986: btrfs_comp_cpu_keys
<-generic_bin_search.constprop.14
           mount-6803  [002] ...1 69023.970986: btrfs_comp_cpu_keys
<-generic_bin_search.constprop.14
           mount-6803  [002] ...1 69023.970987: btrfs_get_token_64
<-read_block_for_search.isra.12
           mount-6803  [002] ...1 69023.970987: btrfs_get_token_64
<-read_block_for_search.isra.12
           mount-6803  [002] ...1 69023.970988: btrfs_node_key
<-read_block_for_search.isra.12
           mount-6803  [002] ...1 69023.970989: btrfs_buffer_uptodate
<-read_block_for_search.isra.12
           mount-6803  [002] ...1 69023.970989:
btrfs_set_path_blocking <-btrfs_next_old_leaf
           mount-6803  [002] ...1 69023.970990: btrfs_get_token_32
<-resolve_indirect_refs
           mount-6803  [002] ...1 69023.970990: btrfs_get_token_64
<-resolve_indirect_refs
           mount-6803  [002] ...1 69023.970991: btrfs_get_token_32
<-resolve_indirect_refs
... get_token32/64/32 continues a hundred lines or so
           mount-6803  [002] ...1 69023.971146: btrfs_get_token_32
<-resolve_indirect_refs
           mount-6803  [002] ...1 69023.971146: btrfs_get_token_64
<-resolve_indirect_refs
           mount-6803  [002] ...1 69023.971146: btrfs_next_old_leaf
<-resolve_indirect_refs
           mount-6803  [002] ...1 69023.971147: btrfs_release_path
<-btrfs_next_old_leaf
           mount-6803  [002] ...1 69023.971147: btrfs_search_slot
<-btrfs_next_old_leaf
           mount-6803  [002] ...1 69023.971148:
btrfs_clear_path_blocking <-btrfs_search_slot
           mount-6803  [002] ...1 69023.971148:
btrfs_set_path_blocking <-btrfs_clear_path_blocking
           mount-6803  [002] ...1 69023.971148: btrfs_bin_search
<-btrfs_search_slot
           mount-6803  [002] ...1 69023.971149: btrfs_comp_cpu_keys
<-generic_bin_search.constprop.14
           mount-6803  [002] ...1 69023.971149: btrfs_get_token_64
<-read_block_for_search.isra.12
           mount-6803  [002] ...1 69023.971150: btrfs_get_token_64
<-read_block_for_search.isra.12
           mount-6803  [002] ...1 69023.971150: btrfs_node_key
<-read_block_for_search.isra.12
           mount-6803  [002] ...1 69023.971151: btrfs_buffer_uptodate
<-read_block_for_search.isra.12
           mount-6803  [002] ...1 69023.971151:
btrfs_clear_path_blocking <-btrfs_search_slot
           mount-6803  [002] ...1 69023.971151:
btrfs_set_path_blocking <-btrfs_clear_path_blocking
           mount-6803  [002] ...1 69023.971152: btrfs_bin_search
<-btrfs_search_slot

Repeats indefinitely.  btrace shows basically zero activity on the
array while it spins, with the occasional burst when mount &
btrfs-transaction swap off.

To recap the chain of events leading up to this:
11TB Array got completely full and started fragmenting badly.
Ran bedup and it found 600gb of duplicate files that it offline-shared.
Reboot for unrelated reasons
Enabled quota on all subvolumes to try to track where the new data is
coming from
Tried to balance metadata due to transaction CPU spikes
Force-rebooted after the array was completely lagged out.

Now attempting to mount it RW.  Readonly works, but RW has taken well
over 24 hours at this point.



[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