diff options
Diffstat (limited to 'api/src')
| -rw-r--r-- | api/src/glfs-fops.c | 8 | 
1 files changed, 6 insertions, 2 deletions
diff --git a/api/src/glfs-fops.c b/api/src/glfs-fops.c index dd9ea451aae..1794e603f3f 100644 --- a/api/src/glfs-fops.c +++ b/api/src/glfs-fops.c @@ -394,8 +394,12 @@ retry:  		goto out;  	} -	ret = syncop_create (subvol, &loc, flags, mode, glfd->fd, -			     xattr_req, &iatt); +	if (ret == 0) { +		ret = syncop_open (subvol, &loc, flags, glfd->fd); +	} else { +		ret = syncop_create (subvol, &loc, flags, mode, glfd->fd, +				     xattr_req, &iatt); +	}  	ESTALE_RETRY (ret, errno, reval, &loc, retry);  | 
