Re: [RFC][PATCH 05/10] cifs: define superblock-level cache index objects and register them

From: David Howells
Date: Fri Jun 25 2010 - 09:27:12 EST


David Howells <dhowells@xxxxxxxxxx> wrote:

> > > validate the root directory of the share in some way?
> >
> > I don't know if there is a way to do this.
>
> Is there an inode number or something? Even the creation time might do.

Looking in cifspdu.h, there are a number of things that it might be possible
to use.

(1) FILE_ALL_INFO: CreationTime, IndexNumber, IndexNumber1, FileName
(assuming this isn't flattened to '\' or something for the root of a
share.

(2) FILE_UNIX_BASIC_INFO: DevMajor, DevMinor, UniqueId.

(3) FILE_INFO_STANDARD: CreationDate, CreationTime.

(4) FILE_INFO_BASIC: CreationTime.

(5) FILE_DIRECTORY_INFO: FileIndex, CreationTime, FileName.

(6) SEARCH_ID_FULL_DIR_INFO: FileIndex, CreationTime, UniqueId, FileName.

(7) FILE_BOTH_DIRECTORY_INFO: FileIndex, CreationTime, ShortName, FileName.

(8) OPEN_RSP_EXT: Fid, CreationTime, VolumeGUID, FileId.

You may have to choose different sets of things, depending on what the server
has on offer. Also, don't forget, if you can't work out whether a share is
coherent or not from the above, you can always use LastWriteTime, ChangeTime
and EndOfFile and just discard the whole subtree if they differ.

David
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/