[Gluster-devel] open-behind

Vijay Bellur vbellur at redhat.com
Tue Feb 12 03:53:38 UTC 2013


On 02/12/2013 07:51 AM, Anand Avati wrote:
>
>
> On Mon, Feb 11, 2013 at 4:15 AM, Raghavendra Bhat <rabhat at redhat.com
> <mailto:rabhat at redhat.com>> wrote:
>
>
>     Hi,
>
>     I have found out this behavior when open-behind is enabled.
>
>     Suppose 2 fuse clients are mounted. Create a file with some data.
>     open the file, sleep for some time, (while sleeping remove the file
>     opened from other client), read from the opened fd. Actually since
>     the file open was successful and fd is there, read operation should
>     be successful. But with open-behind even though open is successful,
>     read is failing and getting EUCLEAN (structure needs cleaning).
>
>     When open-behind is turned off, then even though the file is deleted
>     from other mount point after being opened, the process is able to
>     read the file.
>
>
> This is not an issue introduced with the open-behind refactor. This
> behavior has always existed even in the previous quick-read xlator.
>

This issue needs to be addressed. Raghu - can you please open a bug for 
this?

Around the topic of open-behind, we need to fix the following for 3.4:

a) Do not allow open-behind to resume dependent fops if the open() fails.

b) Ensure that the cluster can handle open-behind being enabled by 
default in the client volume file. Due to this default enabling, we will 
break compatibility with 3.3 clients whenever new volume files are 
generated. A 3.3.x client trying to mount a volume with open-behind 
enabled will exit since it cannot understand open-behind in the volume file.

-Vijay





More information about the Gluster-devel mailing list