From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dmitry Monakhov Subject: [PATCH 1/6] vfs: add per-sb auxiliary inode attribute table Date: Thu, 18 Feb 2010 19:45:25 +0300 Message-ID: <1266511530-10533-2-git-send-email-dmonakhov@openvz.org> References: <1266511530-10533-1-git-send-email-dmonakhov@openvz.org> Cc: Dmitry Monakhov To: linux-fsdevel@vger.kernel.org Return-path: Received: from mail-bw0-f209.google.com ([209.85.218.209]:59834 "EHLO mail-bw0-f209.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1758529Ab0BRQvy (ORCPT ); Thu, 18 Feb 2010 11:51:54 -0500 Received: by mail-bw0-f209.google.com with SMTP id 1so335187bwz.21 for ; Thu, 18 Feb 2010 08:51:53 -0800 (PST) In-Reply-To: <1266511530-10533-1-git-send-email-dmonakhov@openvz.org> Sender: linux-fsdevel-owner@vger.kernel.org List-ID: Some times it is useful to export non standard attributes to generic vfs layer, but it is too expansive to store it inside vfs inode. Let's introduce generic interface for this purpose. One may declare an attribute and filesystem provides access to it, if necessery. Signed-off-by: Dmitry Monakhov --- include/linux/fs.h | 7 ++++++- 1 files changed, 6 insertions(+), 1 deletions(-) diff --git a/include/linux/fs.h b/include/linux/fs.h index b1bcb27..c510ef7 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h @@ -384,6 +384,7 @@ struct inodes_stat_t { #include struct export_operations; +struct aux_attributes; struct hd_geometry; struct iovec; struct nameidata; @@ -1323,6 +1324,7 @@ struct super_block { const struct dquot_operations *dq_op; const struct quotactl_ops *s_qcop; const struct export_operations *s_export_op; + const struct aux_attributes *s_aux_attr; unsigned long s_flags; unsigned long s_magic; struct dentry *s_root; @@ -1576,7 +1578,10 @@ struct super_operations { #endif int (*bdev_try_to_free_page)(struct super_block*, struct page*, gfp_t); }; - +struct aux_attributes +{ + int supported; +}; /* * Inode state bits. Protected by inode_lock. * -- 1.6.6