Re: [patch 04/14] hpfs: dont call notify_change

From: Mikulas Patocka
Date: Wed Jul 23 2008 - 08:40:35 EST


What about down_write on i_alloc_sem --- notify change takes that and your
patch bypasses that.

Mikulas

> From: Miklos Szeredi <mszeredi@xxxxxxx>
>
> hpfs_unlink() calls notify_change() to truncate the file before
> deleting. Replace with explicit call to hpfs_notify_change().
>
> This is equivalent, except that:
> - security_inode_setattr() is not called before hpfs_notify_change()
> - fsnotify_change() is not called after hpfs_notify_change()
>
> The truncation is just an implementation detail, so both the security
> check and the notification are unnecessary.
>
> Possibly even the ctime modification is wrong?
>
> Signed-off-by: Miklos Szeredi <mszeredi@xxxxxxx>
> CC: Mikulas Patocka <mikulas@xxxxxxxxxxxxxxxxxxxxxxxx>
> ---
> fs/hpfs/namei.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> Index: linux-2.6/fs/hpfs/namei.c
> ===================================================================
> --- linux-2.6.orig/fs/hpfs/namei.c 2008-07-23 00:10:13.000000000 +0200
> +++ linux-2.6/fs/hpfs/namei.c 2008-07-23 00:10:22.000000000 +0200
> @@ -426,7 +426,8 @@ again:
> /*printk("HPFS: truncating file before delete.\n");*/
> newattrs.ia_size = 0;
> newattrs.ia_valid = ATTR_SIZE | ATTR_CTIME;
> - err = notify_change(dentry, &newattrs);
> + newattrs.ia_ctime = current_fs_time(inode->i_sb);
> + err = hpfs_notify_change(dentry, &newattrs);
> put_write_access(inode);
> if (!err)
> goto again;
>
> --
>
--
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/