Whamcloud - gitweb
Not fail import if we got -EAGAIN in osc_interpret_create
authorshadow <shadow>
Fri, 19 Oct 2007 17:47:00 +0000 (17:47 +0000)
committershadow <shadow>
Fri, 19 Oct 2007 17:47:00 +0000 (17:47 +0000)
b=13730
i=johann
i=green

lustre/ChangeLog
lustre/osc/osc_create.c

index 2e0debc..bc8bc83 100644 (file)
@@ -15,6 +15,14 @@ tbd         Cluster File Systems, Inc. <info@clusterfs.com>
        * Note that reiserfs quotas are disabled on SLES 10 in this kernel.
 
 Severity   : normal
+Bugzilla   : 13730
+Description: Not fail import if we got -EAGAIN
+Details    : if osc_interpret_create got -EAGAIN his immediately exit and 
+             wakeup oscc_waitq. After wakeup oscc_wait_for_objects call 
+            oscc_has_objects and see osc has no objests and call 
+             oscc_internal_create for resend create request.
+
+Severity   : normal
 Bugzilla   : 13521
 Description: Update kernel patches for SLES10 2.6.16.53-0.8.
 Details    : Update which_patch & target file for SLES10 latest kernel.
index 671089d..90e0019 100644 (file)
@@ -81,6 +81,11 @@ static int osc_interpret_create(struct ptlrpc_request *req, void *data, int rc)
                 spin_unlock(&oscc->oscc_lock);
                 break;
         }
+        case -EAGAIN:
+                /* valid race delorphan vs create, or somthing after resend */
+                spin_unlock(&oscc->oscc_lock);
+                DEBUG_REQ(D_INODE, req, "Got EGAIN - resend \n");
+                break;
         case -ENOSPC:
         case -EROFS: {
                 oscc->oscc_flags |= OSCC_FLAG_NOSPC;