Hello!
We have situation during our work with Wine and Cifs-client then we have
to use sharing access policy to files and we used 3 free bits from 21 to
23 of attribute flag(it allows to do NT-semantic for opening files in open()
and it is neccesary for correct implementation of function NTCreateFile in
Wine). We think that it'll be useful not only for us and
we proffer to add into the file kernel/include/asm-generic/fcntl.h
following flags:
#define O_DENYREAD 004000000 /* Do not permit read access */
#define O_DENYWRITE 010000000 /* Do not permit write access */
#define O_DENYDELETE 020000000 /* Do not permit delete or rename
operations*/
Yes, it'll change semantic of calling open() function, but by default(if
not to use these flags) functionality won't changed, and if we use it
we'll acquire new resources for organization file access policy. On
the other hand, we patched cifs with inverting these flags, because
according to CIFS protocol
#define FILE_SHARE_ALL 0x00000007
ones have opposite meaning.
Here is our patches http://git.etersoft.ru/people/kipruss/packages/?p=cifs-2.6.git;a=shortlog;h=refs/heads/etersoft-to-kernel
Yours faithfully,
Pavel Shilovsky.
--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html