Jens Osterkamp wrote:
> 
> Handling of the proc_dir_entry->count has being changed in 2.6.24-rc5.

Do you know which commit caused the change?


> After this change the default value for pde->count is 1 and not 0 as it
> was in earlier kernels. Therefore, if we want to check wether our procfs
> file is already opened (already in use), we have to check if pde->count
> is not greater than 2 but not 1.
> 
> Signed-off-by: Maxim Shchetynin <[EMAIL PROTECTED]>
> Signed-off-by: Jens Osterkamp <[EMAIL PROTECTED]>
> 
> Index: linux-2.6/arch/powerpc/kernel/rtas_flash.c
> ===================================================================
> --- linux-2.6.orig/arch/powerpc/kernel/rtas_flash.c
> +++ linux-2.6/arch/powerpc/kernel/rtas_flash.c
> @@ -356,7 +356,7 @@ static int rtas_excl_open(struct inode *
>  
>       /* Enforce exclusive open with use count of PDE */
>       spin_lock(&flash_file_open_lock);
> -     if (atomic_read(&dp->count) > 1) {
> +     if (atomic_read(&dp->count) > 2) {
>               spin_unlock(&flash_file_open_lock);
>               return -EBUSY;
>       }

One could argue that the real problem is using the proc_dir_entry's
reference count to enforce exclusive open.
_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev

Reply via email to