[Gluster-devel] regressions due to 64-bit ext4 directory cookies
Bernd Schubert
bernd.schubert at itwm.fraunhofer.de
Tue Mar 26 15:23:11 UTC 2013
Sorry for my late reply, I had been rather busy.
On 02/14/2013 01:05 AM, Anand Avati wrote:
> On Wed, Feb 13, 2013 at 3:44 PM, Theodore Ts'o <tytso at mit.edu> wrote:
>>
>> I suspect this would seriously screw over Gluster, though, and this
>> wouldn't be a solution for NFSv3, since NFS needs long-lived directory
>> cookies, and not the short-lived cookies which is all POSIX/SuSv3
>> guarantees.
>>
>
> Actually this would work just fine with Gluster. Except in the case of
Would it really work perfectly? What about a server reboot in the middle
of a readdir of a client?
> gluster-NFS, the native client is only acting like a router/proxy of
> syscalls to the backend system. A directory opened by an application will
> have a matching directory fd opened on ext4, and readdir from an app will
> be translated into readdir on the matching fd on ext4. So the
> app-on-glusterfs and glusterfsd-on-ext4 are essentially "moving in tandem".
> As long as the offs^H^H^H^H cookies do not overflow in the transformation,
> Gluster would not have a problem.
>
> However Gluster-NFS (and NFS in general, too) will break, as we
> opendir/closedir potentially on every request.
We don't have reached a conclusion so far, do we? What about the ioctl
approach, but a bit differently? Would it work to specify the allowed
upper bits for ext4 (for example 16 additional bit) and the remaining
part for gluster? One of the mails had the calculation formula:
final_d_off = (ext4_d_off * MAX_SERVERS) + server_idx
But what is the value of MAX_SERVERS?
Cheers,
Bernd
More information about the Gluster-devel
mailing list