Bug #1324
cfuse: 2-MDS snaptest2 doesn't let client unmount
| Status: | Resolved | Start date: | 07/15/2011 | |
|---|---|---|---|---|
| Priority: | Normal | Due date: | ||
| Assignee: | Greg Farnum | % Done: | 0% | |
| Category: | ceph-fuse | Spent time: | 2.50 hours | |
| Target version: | v0.32 | |||
| Source: | Severity: | |||
| Backport: | Reviewed: | |||
| Tags: |
Description
On occasions when running snaptests-2 doesn't hit #1323, the client will happily unmount from the filesystem but the process won't exit because there are inodes still in the cache. It's probably a ref-counting bug. Logs in kai:~gregf/logs/snaptest2shutdownfail.
History
#1 Updated by Greg Farnum almost 2 years ago
- Status changed from In Progress to Testing
queue_cap_snap takes a reference to the inode that's never put by anything as best I can tell. I've added one to the end of finish_cap_snap which I presume should handle it. Testing now.
#2 Updated by Greg Farnum almost 2 years ago
Okay, that's not correct. Sage says this put() should be happening in handle_cap_flushsnap_ack, which is just never being called. Which makes sense for a 2-MDS issue.
#3 Updated by Greg Farnum almost 2 years ago
And it turns out the client is unconditionally setting mseq to 0 and then the MDS is rejecting it if the auth has changed. Testing now.
#4 Updated by Greg Farnum almost 2 years ago
- Status changed from Testing to Resolved
Pushed in 022c5261800ba6f9642b1f8dc7e44c91b12956eb