From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756825AbbFQOqt (ORCPT ); Wed, 17 Jun 2015 10:46:49 -0400 Received: from mail-db3on0125.outbound.protection.outlook.com ([157.55.234.125]:29414 "EHLO emea01-db3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753116AbbFQOqr (ORCPT ); Wed, 17 Jun 2015 10:46:47 -0400 Authentication-Results: lwn.net; dkim=none (message not signed) header.d=none; From: Thomas de Beauchene To: CC: , , Thomas de Beauchene , Thomas de Beauchene Subject: [PATCH] Documentation: filesystems: updated struct inode_operations documentation in vfs.txt Date: Wed, 17 Jun 2015 16:46:35 +0200 Message-ID: <1434552395-31715-1-git-send-email-thomas.chauvot-de-beauchene@epitech.eu> X-Mailer: git-send-email 2.1.4 MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [78.194.94.28] X-ClientProxiedBy: AM3PR01CA046.eurprd01.prod.exchangelabs.com (10.141.191.36) To AM3PR02MB020.eurprd02.prod.outlook.com (10.242.242.22) X-Microsoft-Exchange-Diagnostics: 1;AM3PR02MB020;2:1JYNdFu/OtBdzwO08UQqNnQvJ/D6YqmVz3Vm3/N5I35clCU4O9lAh8z+8+cuUAwu;2:SWzcFYhy4l5mejUS7Jo6Oz33v5TY89oRnVSI9QdP9lNFMOMYtYt5l5Wv5TUwAXEOhiY3swPVDBpVTnZ5ks/xE8wIYAxK15O520C5NEGptTdY8KrufIR9cz7uj0eq0R0GWfliKoTIgwnhRKm2M6r0Ow==;6:13s5mmc+tYK70nbTfRnOMhc8RDYZV5klRa5ErbVHUP5J8AYn0wNB20tjWV+WfDg5Na41mhUTrk+GFZCsX2aqSsfaUkMi2lPn0JPJ4WJsVZ3oheTczO5vCLDzlpVzpfCkXijQIfFDjfhtgQhbrKmZeQ==;3:im1M8NfoCy6l4FBFr4obK986+W6NSjDIuv9D/QqQgPcw+DTYVz5iVS2tbr0f1xowgwqHq6PDcMVoTwGKpWhtL5XhzGAVFaaLHU0mg1kk073ySadXZLB/AgBmziAKCiRf08jdR4eoHQ+r9u36CRKYMg1+OvIs2j/TTVc1zZqBl7vQkx14pL8PUW2GToB5sFii57DqqeUYsZ53F/1R6V7gBKuvy+If19Fa8eiS+f5sPJG7yALOwk8188oXjO4ytQF9y8keAvz0qLStKT+5oyxkXFJqjktooBLhnT9k4Y7E80BrhGnZWFVGqlYU1QEXpLvd X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:AM3PR02MB020; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(520003)(5005006)(3002001);SRVR:AM3PR02MB020;BCL:0;PCL:0;RULEID:;SRVR:AM3PR02MB020; X-Forefront-PRVS: 0610D16BBE X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(6009001)(77096005)(87976001)(229853001)(2351001)(36756003)(86362001)(19580395003)(42186005)(50986999)(50466002)(48376002)(19580405001)(46102003)(74482002)(33646002)(47776003)(50226001)(122386002)(66066001)(5001960100002)(107886002)(110136002)(5001920100001)(77156002)(62966003)(189998001)(92566002)(40100003)(4001430100001);DIR:OUT;SFP:1102;SCL:1;SRVR:AM3PR02MB020;H:localhost.localdomain;FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;AM3PR02MB020;9:NJrZB1NCDFnkhvc/6K3K0a54+Vj6lY1WRFP3gnMOh28QJOjKeSlG4LmYo5Pkk52avUXMkUmXJPNitbgJDTxXQPomYzYChuq53AjW6iOe1DLYb3TQ3wJvURUyM8NRXdfsZsIp+t23AmDn+oV2rxc7ChDQlQs+o8mo0yCW4xVolQRqAdYRSBYq7IGpbYFg1z9dYibeIYDSB7wDzTOMwzqfFSG1/goPm4qpdXvUdhmhXocN/3UBuKMxzmdj0ejDgvbSAZEH3WBjQFyUAI3QF6DtExQ2x1pam6Lefh3YvE4IUcfipAgXgclC4EY8WYDuvpJNQHcefVgwBRQsJsGs77HSZt85ESTUFHRfbuDJnOgyVGL5+/lJ9H99nWVYiqZc0x6XoOHql3mIqsahxa0YmIhByxHGT7iRiB89wSQdyjM5feRMmbtMMSiaPNVRo9VrtAxWp9lt6jT6FsRC+uxoPmsMwAvR7+0djzGiwpOSEHqxP/awuIAaxS17kV5xc/TCAuTbntcyVexNeFxyAuHmT6qth/o+ZizhB9fNpAKlaYI25GRY3fa0QVkyyCFuuK/GwJVELeGrdK0E3pVtmu/yLxkl42SgJxoRTNrswGW/SIjWaaQkYRRLE9QTAVwDYd9gzx2SSzqLpkIshJb66N11cYRV85gQIkc8tVcQtfApZGMUQ0AhvCezd42qDeUHXg3XB5o+RtfKURYPPwa+QgWi6dNUCUrmlZeD9DRsaP0TeKunEBH5qhWPoWpVg2yDXZua/tN69HngO61maofYaSbb8fYd7c1nypFbYSFBncXYDZgNd2LtdSIwj8CvQ4PSEQIy91nWBe2ZT1k0h9glP7jQ/7rgmw== X-Microsoft-Exchange-Diagnostics: 1;AM3PR02MB020;3:vVOdSbkX3eDkclbYkC/iuKefupq0QGHw5PNq8Nh/lCtW7K6EmJR+NMjBWTtEpmlXnUtNLMms0LElhEwJ8rk96qWlDyC0tUJGd9RgdwUkI3eEnzuEdgDaOfO2qGH00ORurSzWJ7N+tYOxNQrURIFrJQ==;10:9cA/7CXMWe99NCsF8Cogq409F5omx94IwwLWS0QDzt876+hNz2a+gV96uzbM2gCzTMnb5wuVp5LX2CGXtj2FhhncrzonB236IJR98HhDV9I=;6:R6sSzpuy3VPbTczxYz9Isw1v220o6QRAse0ffP7q06blgWSlJvQzKAGIeE5idCGn X-OriginatorOrg: epitech.eu X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Jun 2015 14:46:44.8236 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM3PR02MB020 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Updated struct inode_operations documentation in vfs.txt to match current implementation Signed-off-by: Thomas de Beauchene --- Documentation/filesystems/vfs.txt | 30 +++++++++++++++++++----------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/Documentation/filesystems/vfs.txt b/Documentation/filesystems/vfs.txt index 3cb2ccf..ff53e34 100644 --- a/Documentation/filesystems/vfs.txt +++ b/Documentation/filesystems/vfs.txt @@ -341,11 +341,18 @@ struct inode_operations ----------------------- This describes how the VFS can manipulate an inode in your -filesystem. As of kernel 2.6.22, the following members are defined: +filesystem. As of kernel 4.1, the following members are defined: struct inode_operations { - int (*create) (struct inode *,struct dentry *, umode_t, bool); struct dentry * (*lookup) (struct inode *,struct dentry *, unsigned int); + void * (*follow_link) (struct dentry *, struct nameidata *); + int (*permission) (struct inode *, int); + struct posix_acl * (*get_acl)(struct inode *, int); + + int (*readlink) (struct dentry *, char __user *,int); + void (*put_link) (struct dentry *, struct nameidata *, void *); + + int (*create) (struct inode *,struct dentry *, umode_t, bool); int (*link) (struct dentry *,struct inode *,struct dentry *); int (*unlink) (struct inode *,struct dentry *); int (*symlink) (struct inode *,struct dentry *,const char *); @@ -356,23 +363,24 @@ struct inode_operations { struct inode *, struct dentry *); int (*rename2) (struct inode *, struct dentry *, struct inode *, struct dentry *, unsigned int); - int (*readlink) (struct dentry *, char __user *,int); - void * (*follow_link) (struct dentry *, struct nameidata *); - void (*put_link) (struct dentry *, struct nameidata *, void *); - int (*permission) (struct inode *, int); - int (*get_acl)(struct inode *, int); int (*setattr) (struct dentry *, struct iattr *); int (*getattr) (struct vfsmount *mnt, struct dentry *, struct kstat *); int (*setxattr) (struct dentry *, const char *,const void *,size_t,int); ssize_t (*getxattr) (struct dentry *, const char *, void *, size_t); ssize_t (*listxattr) (struct dentry *, char *, size_t); int (*removexattr) (struct dentry *, const char *); - void (*update_time)(struct inode *, struct timespec *, int); - int (*atomic_open)(struct inode *, struct dentry *, struct file *, - unsigned open_flag, umode_t create_mode, int *opened); + int (*fiemap)(struct inode *, struct fiemap_extent_info *, u64 start, + u64 len); + int (*update_time)(struct inode *, struct timespec *, int); + int (*atomic_open)(struct inode *, struct dentry *, + struct file *, unsigned open_flag, + umode_t create_mode, int *opened); int (*tmpfile) (struct inode *, struct dentry *, umode_t); + int (*set_acl)(struct inode *, struct posix_acl *, int); + + /* WARNING: probably going away soon, do not use! */ int (*dentry_open)(struct dentry *, struct file *, const struct cred *); -}; +} ____cacheline_aligned; Again, all methods are called without any locks being held, unless otherwise noted. -- 2.1.4