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
Merged

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

1 commit merged into from Sep 9, 2015

Conversation

ghost
Copy link

@ghost ghost commented Jul 28, 2015

…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 Ceph File System 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
Reviewed-by: Loic Dachary <ldachary@redhat.com>
ghost pushed a commit that referenced this pull request Aug 30, 2015
Reviewed-by: Loic Dachary <ldachary@redhat.com>
ghost pushed a commit that referenced this pull request Aug 30, 2015
Reviewed-by: Loic Dachary <ldachary@redhat.com>
@Abhishekvrshny
Copy link

ghost pushed a commit that referenced this pull request Aug 31, 2015
Reviewed-by: Loic Dachary <ldachary@redhat.com>
ghost pushed a commit that referenced this pull request Sep 1, 2015
Reviewed-by: Loic Dachary <ldachary@redhat.com>
ghost pushed a commit that referenced this pull request Sep 2, 2015
Reviewed-by: Loic Dachary <ldachary@redhat.com>
@ghost
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
Copy link
Member

This looks fine @dachary.

ghost pushed a commit that referenced this pull request Sep 9, 2015
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 pull request was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug-fix cephfs Ceph File System
Projects
None yet
4 participants