[linux-cifs-client] [PATCH] cifs: wrap cifs_dnotify_thread in CONFIG_BROKEN

Steve French smfrench at gmail.com
Thu Jan 22 23:41:43 GMT 2009


IIRC ... the original suggestion that was made and partially
implemented a few years ago (code was disabled at runtime, not just
wrapped in an ifdef originally) was that cifs_demultiplex_thread would
take the incoming responses from the server for cifs multishot notify
smbs and queue them to a dnotify queue.   The cifs dnotify thread was
inteneded to -- only -- process the items in the dnotify queue, parse
the response to see which of the inline worker functions (in
include/linux/fsnotify.h e.g. fsnotify_create) ineeds to be called,
check if we have a dnotify or inotify for the corresponding inode and
call the generic hook (e.g. fsnotify_d_move or fsnotify_nameremove or
fsnotify_create etc.).   Adding something like that back in would be
easy enough and wrapping inside an ifdef ... but the people who
understand more about inotify presumably don't know about CIFS or SMB2
etc. so it is not likely to be implemented as one step ... but needs
to be staged in.

On Thu, Jan 22, 2009 at 5:31 PM, Jeff Layton <jlayton at redhat.com> wrote:
> On Thu, 22 Jan 2009 17:13:37 -0600
> Steve French <smfrench at gmail.com> wrote:
>
>> The thread may be renamed/rewritten etc. - but we badly need to finish
>> the dnotify / inotify code ... removing the start on this that someone
>> wrote in the past isn't getting us any closer to this.
>>
>> dnotify/inotify support was added to Linux in the first place because
>> Samba used it to handle this common operation (it is commonly used by
>> OTHER cifs clients) ... but none of the Linux cluster/network file
>> systems have had time to finish the code ... we need to finish this -
>> the network protocol portion of this is now well documented (and we
>> presumably will need a thread to process the dnotify multishot
>> notification responses so we don't clog up the demultiplex thread
>> waiting on kde and gnoe)
>>
>
> Removing this kthread won't measurably move us farther away from that
> goal either.
>
> It's currently under CONFIG_CIFS_EXPERIMENTAL, which would be fine if
> it actually did something. It doesn't though -- it just wakes up tasks
> that don't need to be woken up.
>
> I have no issue with a kthread that does useful work, but why not remove
> this kthread out of the mainline code for now and just plan to put it
> back when it actually has something useful to do?
>
> The patch that removes it will live in perpetuity in git. It'll be a
> trivial matter to revert it when you're ready to have the kthread do
> real work.
>
> --
> Jeff Layton <jlayton at redhat.com>
>



-- 
Thanks,

Steve


More information about the linux-cifs-client mailing list