On Mon, May 23, 2011 at 8:42 AM, Steve French <smfrench@xxxxxxxxx> wrote: > On Mon, May 23, 2011 at 6:12 AM, Jeff Layton <jlayton@xxxxxxxxxx> wrote: >> On Sun, 22 May 2011 20:12:04 -0500 >> Steve French <smfrench@xxxxxxxxx> wrote: >> >>> On Sun, May 22, 2011 at 7:17 AM, Jeff Layton <jlayton@xxxxxxxxxx> wrote: >>> > On Sun, 22 May 2011 07:59:38 -0400 >>> > Christoph Hellwig <hch@xxxxxxxxxxxxx> wrote: >>> > >>> >> On Sun, May 22, 2011 at 07:55:24AM -0400, Jeff Layton wrote: >>> >> > This will never work properly with CIFS, as the protocol has no ability >>> >> > whatsoever for looking up files by filehandle. It *might* be possible to >>> >> > eventually do this with SMB2, but that remains to be seen. > > Shirish had done some experiments (and AFAIK has a small patch > that fixed NFS export over CIFS which works, with the usual restrictions > about having to return ESTALE if the NFS client tries to access > an inode which has been flushed from the cache on the server side). > >>> For nfs v3 clients that can't handle ESTALE, we are probably >>> stuck with having to wait for Samba to implement the flag >> Flag? > > NTCreateX: FILE_OPEN_BY_FILE_ID > > IIRC Shirish verified that the Windows client will emit this flag, but their > server had not gotten around to implementing it (although Samba could > implement it now that their is an open-by-handle syscall). Steve, I am not sure whether Windows client would emit this flag or not. This is the failure on the Windows client with a test program. The very same program works fine on the Windows server i.e. the API is OK with a local program opening a local file by fileid but I think Windows client does not even transmit such a request to the server. ULONG status = NtCreatefile(&f, GENERIC_ALL, &oa, iosb, NULL, FILE_ATTRIBUTE_NORMAL, FILE_SHARE_READ | FILE_SHARE_WRITE, FILE_OPEN, FILE_OPEN_BY_FILE_ID | FILE_NON_DIRECTORY_FILE, NULL, 0); returns error status: C0000008, handle: 0 if the file is remote but no error if the file is local. > > > > -- > Thanks, > > Steve > -- > To unsubscribe from this list: send the line "unsubscribe linux-cifs" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html > -- To unsubscribe from this list: send the line "unsubscribe linux-cifs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html