Sergey Korshunoff: > Suppose all hard links don't cross a branch > We don't need to search anothers when > case 1) a inode count of original file is 1 (no hard links). > case 2) often program overrides all hadlinks. as gcc-config do > case 3) when we do something with a file whose inode was copied up, > then hard link > this file to the new node (copy up) and decrement old inode count
I don't understand case 2. Would you describe specifically? For case 3, let's think specifically. - /u = /rw + /ro - /rw is empty - /ro contains fileA and fileB which are hardlinked - in /u, run "ln fileA fileC" - accroding to your logic, aufs does + copy /ro/fileA to /rw + make a hardlink /rw/fileC + invoke a kernel thread which finds all fileA/B hardlinks from /ro and reproduce them in /rw right? I'd ask you two things. - why do we search in kernel-space instead of user-space? I'd strongly disagree running such task from kernel-space. Running in user-space is much faster and easier. - in above case, after making fileC, + echo abc >> fileA + cat fileC good. latest filedata appears. + cat fileB good. same data (probably). + rm fileA fileC + cat fileB bad. the obosleted data appears (which doesn't contain "abc"). J. R. Okajima ------------------------------------------------------------------------------ Learn Graph Databases - Download FREE O'Reilly Book "Graph Databases" is the definitive new guide to graph databases and their applications. Written by three acclaimed leaders in the field, this first edition is now available. Download your free book today! http://p.sf.net/sfu/NeoTech