[linux-cifs-client] [GSOC] Questions about the project goal of VFS change notify support

Steve French smfrench at gmail.com
Thu Apr 8 11:18:28 MDT 2010


I see three complementary goals for this kind of work:

1) Get as many apps as possible to work over network mounts:  fully
support the Linux fs entry points exposed from the vfs interface from
cifs (and smb2) clients, including as many of the optional ones as is
reasonably possible.  In the case of inotify and dnotify, we want to
support as many cases as possible with the cifs and smb2 protocols
(which may be slightly different for the two due to smb2 improvements
in the protocol design, and may require compensations on the client
side)

2) Expand the smb2 protocol with additional "posix extensions"
(unix/linux extensions) when holes are found in what the Linux vfs
asks us to support, but the smb2 wire protocol does not have a flag or
command for.   We want to keep these as small as reasonably possible,
but this (file/directory change notification is one area where it
could make sense

3) Make sure it is easy for applications to see updates to directories
or files as needed for their requirements  (e.g. autorefreshing file
listing windows when files are created remotely).

On Thu, Apr 8, 2010 at 11:46 AM, Alex Liu <alexliu1943 at gmail.com> wrote:
> Hi, jlayton and sfrench,
>
> As I looked more closely to the CIFS/SMB2 protocol, I realized that
> the NT_TRANSACT_NOTIFY_CHANGE and SMB2 CHANGE_NOTIFY commands are
> designed only for directory change notification[1][2]. There is no
> (single) file change notification mechanism per protocol design.
>
> I am currently designing the cifs inotify support anyway. But I think
> it will be way too complicated and go beyond the design of CIFS/SMB2
> protocols. As a result, there would be a high possibility that the
> part of code can never get merged. I'm not sure if supporting inotify
> in CIFS is a good idea, given that CIFS/SMB2 protocols don't support
> it from the beginning.
>
> jlayton said yesterday on IRC that the original purpose of the project
> is to bring back what was ripped out by commit 6badd79b. Commit
> 6badd79b is only about dnotify. So I'm wondering if removing inotify
> support really matters. And if you could shed some light on the final
> goals of the project, we students can have a better understanding of
> what we are going to do.
>
> Thanks!
>
> refs:
> [1] http://msdn.microsoft.com/en-us/library/ee441586%28v=PROT.10%29.aspx
> [2] http://msdn.microsoft.com/en-us/library/cc246602%28v=PROT.13%29.aspx
>
> Cheers,
> -Alex
>



-- 
Thanks,

Steve


More information about the linux-cifs-client mailing list