> This uses a statically-allocated percpu variable.  All
> operations are local to a cpu as long that cpu operates on
> the same mount, and there are no writer count imbalances.
> Writer count imbalances happen when a write is taken on one
> cpu, and released on another, like when an open/close pair
> is performed on two different cpus because the task moved.
> 

I'd suggest something along these lines in final mntput:

        lock_and_coalesce_cpu_mnt_writer_counts();
        mnt_unlock_cpus();
        BUG_ON(atomic_read(&mnt->__mnt_writers));

since there's basically no other we'll notice if there _is_ an
imbalance.

Miklos
-
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to