Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fs: ceph-fuse 0.94.2-1trusty segfaults / aborts #5381

Merged
1 commit merged into from Sep 9, 2015

Conversation

Projects
None yet
4 participants
@ghost
Copy link

ghost commented Jul 28, 2015

Client: check dir is still complete after dropping locks in _readdir_…
…cache_cb

We drop the lock when invoking the callback, which means the directory
we're looking at might get dentries trimmed out of memory. Make sure that
hasn't happened after we get the lock back. If it *has* happened, fall back
to requesting the directory contents from the MDS. Update the dirp location
pointers after each entry to facilitate this.
Because this requires we update the dirp->at_cache_name value on every loop,
we rework the updating scheme a bit: to dereference the dn->name before
unlocking, so we know it's filled in; and since we update it on every loop
we don't need to refer to the previous dentry explicitly like we did before.

This should also handle racing file deletes: we get back a trace on
the removed dentry and that will clear the COMPLETE|ORDERED flags.

Fixes #12297

Signed-off-by: Greg Farnum <gfarnum@redhat.com>
(cherry picked from commit 62dd637)

@ghost ghost self-assigned this Jul 28, 2015

@ghost ghost added this to the hammer milestone Jul 28, 2015

@ghost ghost added bug fix cephfs labels Jul 28, 2015

ghost pushed a commit that referenced this pull request Jul 29, 2015

ghost pushed a commit that referenced this pull request Aug 30, 2015

Merge pull request #5381: ceph-fuse 0.94.2-1trusty segfaults / aborts
Reviewed-by: Loic Dachary <ldachary@redhat.com>

ghost pushed a commit that referenced this pull request Aug 30, 2015

Merge pull request #5381: ceph-fuse 0.94.2-1trusty segfaults / aborts
Reviewed-by: Loic Dachary <ldachary@redhat.com>

ghost pushed a commit that referenced this pull request Aug 30, 2015

Merge pull request #5381: ceph-fuse 0.94.2-1trusty segfaults / aborts
Reviewed-by: Loic Dachary <ldachary@redhat.com>
@Abhishekvrshny

This comment has been minimized.

ghost pushed a commit that referenced this pull request Aug 31, 2015

Merge pull request #5381: ceph-fuse 0.94.2-1trusty segfaults / aborts
Reviewed-by: Loic Dachary <ldachary@redhat.com>

ghost pushed a commit that referenced this pull request Sep 1, 2015

Merge pull request #5381: ceph-fuse 0.94.2-1trusty segfaults / aborts
Reviewed-by: Loic Dachary <ldachary@redhat.com>

ghost pushed a commit that referenced this pull request Sep 2, 2015

Merge pull request #5381: ceph-fuse 0.94.2-1trusty segfaults / aborts
Reviewed-by: Loic Dachary <ldachary@redhat.com>
@ghost

This comment has been minimized.

Copy link
Author

ghost commented Sep 6, 2015

@ukernel ping ?

@ghost ghost assigned ukernel and unassigned ghost Sep 6, 2015

@gregsfortytwo gregsfortytwo assigned ghost and unassigned ukernel Sep 9, 2015

@gregsfortytwo

This comment has been minimized.

Copy link
Member

gregsfortytwo commented Sep 9, 2015

This looks fine @dachary.

ghost pushed a commit that referenced this pull request Sep 9, 2015

Loic Dachary
Merge pull request #5381 from dachary/wip-12499-hammer
ceph-fuse 0.94.2-1trusty segfaults / aborts

Reviewed-by: Greg Farnum <gfarnum@redhat.com>

@ghost ghost merged commit 8039375 into ceph:hammer Sep 9, 2015

@ghost ghost changed the title ceph-fuse 0.94.2-1trusty segfaults / aborts fs: ceph-fuse 0.94.2-1trusty segfaults / aborts Sep 13, 2015

This issue was closed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.