Re: A question about proc file system

From: Alan Cox
Date: Wed Nov 28 2012 - 07:04:25 EST


On Wed, 28 Nov 2012 02:55:30 +0000
"Yangbin (Robin)" <robin.yb@xxxxxxxxxx> wrote:

> Hi all:
>
> I write a kernel module which make a dir and create a file in proc file system.
> I use proc_mkdir() and create_proc_entry() in init and use remove_proc_entry() in exit.
> Now I got a problem during my test:
> 1. open terminal A, insmod and cd into the dir the module created in proc
> 2. open terminal B. rmmod and insmod angain.
> Then I cannot see the file which should be created by the module, unless terminal A quit the dir.
>
> This will be ok with regale file system like ext3, one teminal's operation will not affert others.
> Is this a bug or not?

It's not. You are doing the same as this


mkdir /tmp/example
cd /tmp/example
rmdir /tmp/example

mkdir /tmp/example

in Unix like systems the file handles and current directory references
apply to the object itself not to the path.

When yo reload the driver you create a new and different directory that
has the same name but is not the same thing.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/