aboutsummaryrefslogtreecommitdiffstats
path: root/fs/xfs/xfs_dir2.c
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@infradead.org>2007-08-28 02:12:30 -0400
committerTim Shimmin <tes@chook.melbourne.sgi.com>2007-10-15 02:54:29 -0400
commit993386c19afa53fa54d00c7721e56ba820b3400d (patch)
tree1715fdeb9cc5ea99466e179b54e84b168fd5e127 /fs/xfs/xfs_dir2.c
parentb93bd20cd59eb7ec172f95d08b100fea688d8bcf (diff)
[XFS] decontaminate vnode operations from behavior details
All vnode ops now take struct xfs_inode pointers and the behaviour related glue is split out into methods of it's own. This required fixing xfs_create/mkdir/symlink to not mess with the inode pointer but rather use a separate boolean for error handling. Thanks to Dave Chinner for that fix. SGI-PV: 969608 SGI-Modid: xfs-linux-melb:xfs-kern:29492a Signed-off-by: Christoph Hellwig <hch@infradead.org> Signed-off-by: David Chinner <dgc@sgi.com> Signed-off-by: Tim Shimmin <tes@sgi.com>
Diffstat (limited to 'fs/xfs/xfs_dir2.c')
-rw-r--r--fs/xfs/xfs_dir2.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/fs/xfs/xfs_dir2.c b/fs/xfs/xfs_dir2.c
index c2d2bef26cbd..12001bf0d0cb 100644
--- a/fs/xfs/xfs_dir2.c
+++ b/fs/xfs/xfs_dir2.c
@@ -292,18 +292,16 @@ xfs_dir_removename(
292 */ 292 */
293int 293int
294xfs_readdir( 294xfs_readdir(
295 bhv_desc_t *dir_bdp, 295 xfs_inode_t *dp,
296 void *dirent, 296 void *dirent,
297 size_t bufsize, 297 size_t bufsize,
298 xfs_off_t *offset, 298 xfs_off_t *offset,
299 filldir_t filldir) 299 filldir_t filldir)
300{ 300{
301 xfs_inode_t *dp = XFS_BHVTOI(dir_bdp);
302 int rval; /* return value */ 301 int rval; /* return value */
303 int v; /* type-checking value */ 302 int v; /* type-checking value */
304 303
305 vn_trace_entry(BHV_TO_VNODE(dir_bdp), __FUNCTION__, 304 vn_trace_entry(XFS_ITOV(dp), __FUNCTION__, (inst_t *)__return_address);
306 (inst_t *)__return_address);
307 305
308 if (XFS_FORCED_SHUTDOWN(dp->i_mount)) 306 if (XFS_FORCED_SHUTDOWN(dp->i_mount))
309 return XFS_ERROR(EIO); 307 return XFS_ERROR(EIO);