Lou Gosselin:
> There are a few reasons I haven't seriously considered using the sysreq, 
> even though it might work.
> 1. It requires compiling in debug mode.
> 2. The manual warns of performance degradation under debug mode.
> 3. The syntax of the debugging output is complex, parsing may not be 
> very reliable and it could change.
> 4. Under debug mode, aufs operations generate several kbytes of logs. 
> These can be filtered out, but it shouldn't be necessary.

I hope you don't confuse CONFIG_AUFS_DEBUG and a module parameter named
debug. For each items you wrote,
1. Yes, Magic SysRq requires CONFIG_AUFS_DEBUG. But if I add the inode
   number into the remount info, it won't be necessary.
2. Yes, CONFIG_AUFS_DEBUG introduces more jobs.
3. Yes, the output from Magic SysRq may change. But the remount info
   will not change so frequently as Magic SysRq message.
4. No, CONFIG_AUFS_DEBUG doesn't print much, but the module paramter
   "debug" does.

> At this point I feel we've exhausted the topic. I've put my case 
> forward; if you still don't see the need to expose the internal branch 
> lock state, I'll respect your decision.

I could see such needs and I have written
----------------------------------------------------------------------
I am afraid you won't be happy even if I develop a new feature such like
- ioctl interface to get the opened file path
- /sys/fs/aufs/*/opened_files
- or something.
----------------------------------------------------------------------
But I didn't think it so uregently or important like a bug since you
wrote "I'm not requesting a change".


Now let's review some generic issues.
- to identify a file, we need its device number and the inode number.
- to identify a process, we need the process id.
- FS knows about the files in use but doesn't know about pid.
- lsof shows the device number but the inode number.
- linux kernel doesn't provide the way to know the inode number of
  running executable and opened file from outside of the process.
Do you agree?


And, for my understanding, you need another lsof which prints the inode
number and aufs needs to provide the inode number. Then you can compare
them and find the process. Ideally you want something like this.

$ ANewCommand aufs_mntpnt branch
  "pid N is using the file PATH"
   ...
  or more simply
  "pid1, pid2,,,"

Right?

If so, it means we need to develop a new command and a new sub module of
aufs, I think.


J. R. Okajima

------------------------------------------------------------------------------
This SF.net email is sponsored by 

Make an app they can't live without
Enter the BlackBerry Developer Challenge
http://p.sf.net/sfu/RIM-dev2dev 

Reply via email to