diff --git a/lustre/ChangeLog b/lustre/ChangeLog index 2e0debc9f6771f7a8115d03dbe93d45ca478a6e2..bc8bc830d0b3d6fa461471d44b775256df4e86d0 100644 --- a/lustre/ChangeLog +++ b/lustre/ChangeLog @@ -14,6 +14,14 @@ tbd Cluster File Systems, Inc. <info@clusterfs.com> * Recommended e2fsprogs version: 1.40.2-cfs1 * 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. diff --git a/lustre/osc/osc_create.c b/lustre/osc/osc_create.c index 671089dde9b083dc35daaede7932ecb9eff075fd..90e0019cadc77a488c812a744056a86db51aa782 100644 --- a/lustre/osc/osc_create.c +++ b/lustre/osc/osc_create.c @@ -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;