[Bugs] [Bug 1259995] New: fd migration to new xlator graph after graph-switch fails for unlinked files.

bugzilla at redhat.com bugzilla at redhat.com
Fri Sep 4 05:42:11 UTC 2015


https://bugzilla.redhat.com/show_bug.cgi?id=1259995

            Bug ID: 1259995
           Summary: fd migration to new xlator graph after graph-switch
                    fails for unlinked files.
           Product: GlusterFS
           Version: mainline
         Component: fuse
          Assignee: bugs at gluster.org
          Reporter: rgowdapp at redhat.com
                CC: bugs at gluster.org, gluster-bugs at redhat.com



Created attachment 1070159
  --> https://bugzilla.redhat.com/attachment.cgi?id=1070159&action=edit
regression test to trigger fd-migration failure

Description of problem:

Consider following sequence of operations:
1. fd = open ("/mnt/glusterfs/file");
2. unlink ("/mnt/glusterfs/file");
3. Do a graph-switch, lets say by adding a new brick to volume.
4. migration of fd to new graph fails. This is because as part of migration we
do a lookup and open. But, lookup fails as file is already deleted and hence
migration fails and fd is marked bad.

In fact this test case is already present in our regression tests, though the
test checks whether the fd is just marked as bad. But the expectation of filing
this bug is that migration should succeed. This is possible since there is an
fd opened on brick through old-graph and hence can be duped using dup syscall.

Of course the solution outlined here doesn't cover the case where file is not
present on brick at all. For eg., a new brick was added to replica set and that
new brick doesn't contain the file. Now, since the file is deleted, how do
replica heals that file to another brick etc.

But atleast this can be solved for those cases where file was present on a
brick and fd was already opened.

I've attached regression test which can trigger this failure.


Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

-- 
You are receiving this mail because:
You are on the CC list for the bug.
You are the assignee for the bug.


More information about the Bugs mailing list