ACK: [Natty][SRU][PATCH 0/2] eCryptfs: Clear i_nlink in rmdir

Brad Figg brad.figg at canonical.com
Fri Mar 2 17:12:51 UTC 2012


On 03/02/2012 09:08 AM, Colin King wrote:
> From: Colin Ian King<colin.king at canonical.com>
>
> Note: This is a re-posting (I forgot to request it for Natty).
> I originally requested these for Lucid but they also apply cleanly
> and fix the issue for Natty too.
>
> SRU Justification:
>
> The IN_DELETE_SELF mask for inotify_add_watch indicates that an event
> should be emitted when the watched path is deleted, however, this does
> not happen on an eCryptfs mount.
>
> To reproduce:
>
> mkdir upper lower
> sudo mount -t ecryptfs lower upper
>
> and compile and run the following test program in the upper directory:
>
> https://launchpadlibrarian.net/64953109/inotify.c
>
> This test program hangs waiting for the IN_DELETE_SELF event that never
> occurs.
>
> Fix: the following two patches address the bug. The first patch removes
> and an unnecessary d_delete from ecryptfs_rmdir.  The second patch clears
> the inode's i_nlink after a successful vfs_rmdir() on the lower directory.
> Without the second patch inode evict and destroy paths are missed and
> hence IN_DELETE_SELF inotify events do not occur.
>
> With the fix, the test inotify program receives the IN_DELETE_SELF event
> and completes.
>
> https://bugs.launchpad.net/bugs/723518
>
> These patches are clean cherry picks of upstream commits
> 35ffa948b2f7bdf79e488cd496232935d095087a and
> 07850552b92b3637fa56767b5e460b4238014447
>
> Tyler Hicks (2):
>    eCryptfs: Remove extra d_delete in ecryptfs_rmdir
>    eCryptfs: Clear i_nlink in rmdir
>
>   fs/ecryptfs/inode.c |    4 ++--
>   1 files changed, 2 insertions(+), 2 deletions(-)
>
>


-- 
Brad Figg brad.figg at canonical.com http://www.canonical.com




More information about the kernel-team mailing list