From patchwork Mon Mar 13 13:20:22 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Amir Goldstein X-Patchwork-Id: 9620831 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 6421660244 for ; Mon, 13 Mar 2017 13:21:09 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 572E72848E for ; Mon, 13 Mar 2017 13:21:09 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 4BB4E2849C; Mon, 13 Mar 2017 13:21:09 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.5 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, RCVD_IN_DNSWL_HI, RCVD_IN_SORBS_SPAM autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 09AE12848E for ; Mon, 13 Mar 2017 13:21:09 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751822AbdCMNVI (ORCPT ); Mon, 13 Mar 2017 09:21:08 -0400 Received: from mail-wr0-f195.google.com ([209.85.128.195]:35691 "EHLO mail-wr0-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751759AbdCMNVF (ORCPT ); Mon, 13 Mar 2017 09:21:05 -0400 Received: by mail-wr0-f195.google.com with SMTP id u108so20061046wrb.2 for ; Mon, 13 Mar 2017 06:20:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=PfEANHVqEvIun8VGKw2k4wv14cknWDz8zrwyyOALMS0=; b=R2NQEC1S8i0Z4vbVLdg+TxUXOPCm6x3ujVHVvhmPSegYfspdrv10vnSXq0amuNnCZW 9M5S54lLh9Pu7+7p9b8LS5qqVBpTiVVa/QrTB+5RrCwUTXpN5BTW0GrIe7VlP/K9yfex BnDm1ziDZiFCObexOQcZdKo3CPvsmuH6XYTwriZBW5evyOX4OY/Y8QyMdh9ncGHyNB6x 2cbliLdt5cbjnBu+n9C63ZH4uh3YkbEzv2FpdOZkxuREfk7kDQjnv1MCbqvcgfeiNHci oAa4blbn6wGFQmEOWDXzrQ3G+eBQfx1bouc1ayIueQioZex/9t4ofvKRrm8mgFkSBtow JReg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=PfEANHVqEvIun8VGKw2k4wv14cknWDz8zrwyyOALMS0=; b=Q8VazKawsoB5E8WGQDzjVwB5pJiTrEQ5/AKUs4qC+Lm9D3NXyYpCv57C2qFk90j8vF YL0v06I4wvWMgYUlEf0ej68bYw9pp+eLZjsh92WLrg7tpUwAtWoVJ2VFddlfBRl7VWV7 wTbSQ1OKSMW0JN9Lez6HidMO+gosWDppfhqtjUJ4v7naUaf92afexWtHi1BD3+pvaJ35 h3a0y8zFDEunjsuybm3YWpvsDqAa9raS5g6UcOMLPm1m/XF5/TM656VwZ6ED3SNshE2G EUmJqW7sX++Efi4hX4C2uO7tqELKHb0H3g+aNyp9dJQEurmmIwkY8h7pSRbDB3USMTjc E9yQ== X-Gm-Message-State: AMke39mau9rSnZbroeknXCbGzkInjZnXeXc11J7aFqeN0uSHpClj/TazLNkGjsFElXX+6Q== X-Received: by 10.223.153.17 with SMTP id x17mr27737269wrb.55.1489411230846; Mon, 13 Mar 2017 06:20:30 -0700 (PDT) Received: from amir-VirtualBox.ctera.local (bzq-166-168-31-246.red.bezeqint.net. [31.168.166.246]) by smtp.gmail.com with ESMTPSA id f48sm24885857wrf.17.2017.03.13.06.20.29 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Mon, 13 Mar 2017 06:20:30 -0700 (PDT) From: Amir Goldstein To: Jan Kara Cc: Eric Paris , Marko Rauhamaa , linux-fsdevel@vger.kernel.org Subject: [RFC][PATCH 5/6] fanotify: export FAN_ONDIR to user Date: Mon, 13 Mar 2017 15:20:22 +0200 Message-Id: <1489411223-12081-6-git-send-email-amir73il@gmail.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1489411223-12081-1-git-send-email-amir73il@gmail.com> References: <1489411223-12081-1-git-send-email-amir73il@gmail.com> Sender: linux-fsdevel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-fsdevel@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP User who requested the flag FAN_EVENT_INFO_PARENT on fanotify_init() will get the additional information FAN_ONDIR when event subject is a directory. Signed-off-by: Amir Goldstein --- fs/notify/fanotify/fanotify_user.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/fs/notify/fanotify/fanotify_user.c b/fs/notify/fanotify/fanotify_user.c index adef7b0..bc1ccd0 100644 --- a/fs/notify/fanotify/fanotify_user.c +++ b/fs/notify/fanotify/fanotify_user.c @@ -147,17 +147,22 @@ static int fill_event_metadata(struct fsnotify_group *group, { int ret = 0; struct fanotify_event_info *event; + __u32 user_mask = FAN_ALL_OUTGOING_EVENTS; pr_debug("%s: group=%p metadata=%p event=%p\n", __func__, group, metadata, fsn_event); + /* FAN_ONDIR is important for dentry events */ + if (group->fanotify_data.flags & FAN_EVENT_INFO_PARENT) + user_mask |= FAN_ONDIR; + *file = NULL; event = container_of(fsn_event, struct fanotify_event_info, fse); metadata->event_len = FAN_EVENT_METADATA_LEN; metadata->metadata_len = FAN_EVENT_METADATA_LEN; metadata->vers = FANOTIFY_METADATA_VERSION; metadata->reserved = 0; - metadata->mask = fsn_event->mask & FAN_ALL_OUTGOING_EVENTS; + metadata->mask = fsn_event->mask & user_mask; metadata->pid = pid_vnr(event->tgid); if (unlikely(fsn_event->mask & FAN_Q_OVERFLOW)) metadata->fd = FAN_NOFD;