On Tue, Oct 19, 2010 at 06:28:05PM +0100, Al Viro wrote:
Hm. Sounds like the same question that the file leases code needs
answered. The important difference is that the leases code can just
refuse to set a lease on inodes with multiple dentries.
While my mind's on it ... Al, is this code even close to correct?
if ((arg == F_RDLCK) && (atomic_read(&inode->i_writecount) > 0))
goto out;
if ((arg == F_WRLCK)
&& ((atomic_read(&dentry->d_count) > 1)
|| (atomic_read(&inode->i_count) > 1)))
goto out;
--
Matthew Wilcox Intel Open Source Technology Centre
"Bill, look, we understand that you're interested in selling us this
operating system, but compare it to ours. We can't possibly take such
a retrograde step."
--