<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/fs/notify/inode_mark.c, branch linux-2.6.37.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.37.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.37.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2010-10-28T21:22:13Z</updated>
<entry>
<title>fsnotify: implement ordering between notifiers</title>
<updated>2010-10-28T21:22:13Z</updated>
<author>
<name>Eric Paris</name>
</author>
<published>2010-10-28T21:21:56Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6ad2d4e3e97ee4bfde0b45e8dfe37911330fc4aa'/>
<id>urn:sha1:6ad2d4e3e97ee4bfde0b45e8dfe37911330fc4aa</id>
<content type='text'>
fanotify needs to be able to specify that some groups get events before
others.  They use this idea to make sure that a hierarchical storage
manager gets access to files before programs which actually use them.  This
is purely infrastructure.  Everything will have a priority of 0, but the
infrastructure will exist for it to be non-zero.

Signed-off-by: Eric Paris &lt;eparis@redhat.com&gt;
</content>
</entry>
<entry>
<title>split invalidate_inodes()</title>
<updated>2010-10-26T01:27:18Z</updated>
<author>
<name>Al Viro</name>
</author>
<published>2010-10-26T00:49:35Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=63997e98a3be68d7cec806d22bf9b02b2e1daabb'/>
<id>urn:sha1:63997e98a3be68d7cec806d22bf9b02b2e1daabb</id>
<content type='text'>
Pull removal of fsnotify marks into generic_shutdown_super().
Split umount-time work into a new function - evict_inodes().
Make sure that invalidate_inodes() will be able to cope with
I_FREEING once we change locking in iput().

Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>Merge branch 'for-linus' of git://git.infradead.org/users/eparis/notify</title>
<updated>2010-08-10T18:39:13Z</updated>
<author>
<name>Linus Torvalds</name>
</author>
<published>2010-08-10T18:39:13Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8c8946f509a494769a8c602b5ed189df01917d39'/>
<id>urn:sha1:8c8946f509a494769a8c602b5ed189df01917d39</id>
<content type='text'>
* 'for-linus' of git://git.infradead.org/users/eparis/notify: (132 commits)
  fanotify: use both marks when possible
  fsnotify: pass both the vfsmount mark and inode mark
  fsnotify: walk the inode and vfsmount lists simultaneously
  fsnotify: rework ignored mark flushing
  fsnotify: remove global fsnotify groups lists
  fsnotify: remove group-&gt;mask
  fsnotify: remove the global masks
  fsnotify: cleanup should_send_event
  fanotify: use the mark in handler functions
  audit: use the mark in handler functions
  dnotify: use the mark in handler functions
  inotify: use the mark in handler functions
  fsnotify: send fsnotify_mark to groups in event handling functions
  fsnotify: Exchange list heads instead of moving elements
  fsnotify: srcu to protect read side of inode and vfsmount locks
  fsnotify: use an explicit flag to indicate fsnotify_destroy_mark has been called
  fsnotify: use _rcu functions for mark list traversal
  fsnotify: place marks on object in order of group memory address
  vfs/fsnotify: fsnotify_close can delay the final work in fput
  fsnotify: store struct file not struct path
  ...

Fix up trivial delete/modify conflict in fs/notify/inotify/inotify.c.
</content>
</entry>
<entry>
<title>simplify checks for I_CLEAR/I_FREEING</title>
<updated>2010-08-09T20:47:44Z</updated>
<author>
<name>Al Viro</name>
</author>
<published>2010-06-02T21:38:30Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a4ffdde6e56fdf8c34ddadc2674d6eb978083369'/>
<id>urn:sha1:a4ffdde6e56fdf8c34ddadc2674d6eb978083369</id>
<content type='text'>
add I_CLEAR instead of replacing I_FREEING with it.  I_CLEAR is
equivalent to I_FREEING for almost all code looking at either;
it's there to keep track of having called clear_inode() exactly
once per inode lifetime, at some point after having set I_FREEING.
I_CLEAR and I_FREEING never get set at the same time with the
current code, so we can switch to setting i_flags to I_FREEING | I_CLEAR
instead of I_CLEAR without loss of information.  As the result of
such change, checks become simpler and the amount of code that needs
to know about I_CLEAR shrinks a lot.

Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>fsnotify: use an explicit flag to indicate fsnotify_destroy_mark has been called</title>
<updated>2010-07-28T14:18:52Z</updated>
<author>
<name>Eric Paris</name>
</author>
<published>2010-07-28T14:18:38Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=700307a29ad61090dcf1d45f8f4a135f5e9211ae'/>
<id>urn:sha1:700307a29ad61090dcf1d45f8f4a135f5e9211ae</id>
<content type='text'>
Currently fsnotify check is mark-&gt;group is NULL to decide if
fsnotify_destroy_mark() has already been called or not.  With the upcoming
rcu work it is a heck of a lot easier to use an explicit flag than worry
about group being set to NULL.

Signed-off-by: Eric Paris &lt;eparis@redhat.com&gt;
</content>
</entry>
<entry>
<title>fsnotify: use _rcu functions for mark list traversal</title>
<updated>2010-07-28T14:18:51Z</updated>
<author>
<name>Eric Paris</name>
</author>
<published>2010-07-28T14:18:38Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a4c6e9961fcb9da54648d98978d33c6fdcb7bb45'/>
<id>urn:sha1:a4c6e9961fcb9da54648d98978d33c6fdcb7bb45</id>
<content type='text'>
In preparation for srcu locking use all _rcu appropiete functions for mark
list addition, removal, and traversal.  The operations are still done under a
spinlock at the end of this patch.

Signed-off-by: Eric Paris &lt;eparis@redhat.com&gt;
</content>
</entry>
<entry>
<title>fsnotify: place marks on object in order of group memory address</title>
<updated>2010-07-28T14:18:51Z</updated>
<author>
<name>Eric Paris</name>
</author>
<published>2010-07-28T14:18:38Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0c6532e4e3b0c8bd18dd0a5cc1894a1944997cc6'/>
<id>urn:sha1:0c6532e4e3b0c8bd18dd0a5cc1894a1944997cc6</id>
<content type='text'>
fsnotify_marks currently are placed on objects (inodes or vfsmounts) in
arbitrary order.  This patch places them in order of the group memory address.

Signed-off-by: Eric Paris &lt;eparis@redhat.com&gt;
</content>
</entry>
<entry>
<title>fanotify: clear all fanotify marks</title>
<updated>2010-07-28T13:59:00Z</updated>
<author>
<name>Eric Paris</name>
</author>
<published>2009-12-18T02:24:34Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4d92604cc90aa18bbbe0f6e23b7a9fdb612836d3'/>
<id>urn:sha1:4d92604cc90aa18bbbe0f6e23b7a9fdb612836d3</id>
<content type='text'>
fanotify listeners may want to clear all marks.  They may want to do this
to destroy all of their inode marks which have nothing but ignores.
Realistically this is useful for av vendors who update policy and want to
clear all of their cached allows.

Signed-off-by: Eric Paris &lt;eparis@redhat.com&gt;
</content>
</entry>
<entry>
<title>fsnotify: allow marks to not pin inodes in core</title>
<updated>2010-07-28T13:58:59Z</updated>
<author>
<name>Eric Paris</name>
</author>
<published>2009-12-18T02:24:33Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=90b1e7a57880fb66437ab7db39e1e65ca0372822'/>
<id>urn:sha1:90b1e7a57880fb66437ab7db39e1e65ca0372822</id>
<content type='text'>
inotify marks must pin inodes in core.  dnotify doesn't technically need to
since they are closed when the directory is closed.  fanotify also need to
pin inodes in core as it works today.  But the next step is to introduce
the concept of 'ignored masks' which is actually a mask of events for an
inode of no interest.  I claim that these should be liberally sent to the
kernel and should not pin the inode in core.  If the inode is brought back
in the listener will get an event it may have thought excluded, but this is
not a serious situation and one any listener should deal with.

This patch lays the ground work for non-pinning inode marks by using lazy
inode pinning.  We do not pin a mark until it has a non-zero mask entry.  If a
listener new sets a mask we never pin the inode.

Signed-off-by: Eric Paris &lt;eparis@redhat.com&gt;
</content>
</entry>
<entry>
<title>fsnotify: split generic and inode specific mark code</title>
<updated>2010-07-28T13:58:57Z</updated>
<author>
<name>Eric Paris</name>
</author>
<published>2009-12-18T02:24:27Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5444e2981c31d0ed7465475e451b8437084337e5'/>
<id>urn:sha1:5444e2981c31d0ed7465475e451b8437084337e5</id>
<content type='text'>
currently all marking is done by functions in inode-mark.c.  Some of this
is pretty generic and should be instead done in a generic function and we
should only put the inode specific code in inode-mark.c

Signed-off-by: Eric Paris &lt;eparis@redhat.com&gt;
</content>
</entry>
</feed>
