Hi all! Now I have been working on lock cache capability for cifs module and simplification of lock code. So, I faced with a such an interesting place - mandatory style unlock code. The problem is that mandatory semantic doesn't allow to specify a range and remove all locks from there. But cifs module allows it. The reason why it is so can be that cifs module tries to follow posix semantic for mandatory locks. I think it's not what we want at all. We have two lock mode for cifs module: posix and mandatory. And as for me, we should follow posix semantic for posix locks and mandatory for mandatory locks. If we mix these two semantic for mandatory lock mode, we reach nothing: no posix (because mandatory locks doesn't allow to perform io ops on the locked region by other processes) and no mandatory (because we can setup unlock from 0 to infinity and remove all locks at once). The another problem is that this 'broken' code lives on kernel for a long time. So, I suggest to discuss it now - while I am here I can include this fix into my patchset as well. Thoughts? -- Best regards, Pavel Shilovsky. -- 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