diff options
author | Christoph Hellwig <hch@infradead.org> | 2008-10-30 03:04:13 -0400 |
---|---|---|
committer | Lachlan McIlroy <lachlan@redback.melbourne.sgi.com> | 2008-10-30 03:04:13 -0400 |
commit | c679eef0520eb3c2c731fce505e61b8ef9469aac (patch) | |
tree | 6a3cdcb882282d10dac7bb45e194fc473dd3940d /fs/xfs/xfs_inode.h | |
parent | 455486b9ccdd0a1d7432a03302f549b1c917c181 (diff) |
[XFS] stop using xfs_itobp in xfs_bulkstat
xfs_bulkstat only wants the dinode, offset and buffer from a given inode
number. Instead of using xfs_itobp on a fake inode which is complicated
and currently leads to leaks of the security data just use xfs_inotobp
which is designed to do exactly the kind of lookup xfs_bulkstat wants. The
only thing that's missing in xfs_inotobp is a flags paramter that let's us
pass down XFS_IMAP_BULKSTAT, but that can easily added.
SGI-PV: 987246
SGI-Modid: xfs-linux-melb:xfs-kern:32397a
Signed-off-by: Christoph Hellwig <hch@infradead.org>
Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
Signed-off-by: David Chinner <david@fromorbit.com>
Diffstat (limited to 'fs/xfs/xfs_inode.h')
-rw-r--r-- | fs/xfs/xfs_inode.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/fs/xfs/xfs_inode.h b/fs/xfs/xfs_inode.h index a5aeb9cfeae8..5d12cfeb43c5 100644 --- a/fs/xfs/xfs_inode.h +++ b/fs/xfs/xfs_inode.h | |||
@@ -158,7 +158,7 @@ typedef struct xfs_icdinode { | |||
158 | #define XFS_IFEXTIREC 0x08 /* Indirection array of extent blocks */ | 158 | #define XFS_IFEXTIREC 0x08 /* Indirection array of extent blocks */ |
159 | 159 | ||
160 | /* | 160 | /* |
161 | * Flags for xfs_itobp(), xfs_imap() and xfs_dilocate(). | 161 | * Flags for xfs_inotobp, xfs_itobp(), xfs_imap() and xfs_dilocate(). |
162 | */ | 162 | */ |
163 | #define XFS_IMAP_LOOKUP 0x1 | 163 | #define XFS_IMAP_LOOKUP 0x1 |
164 | #define XFS_IMAP_BULKSTAT 0x2 | 164 | #define XFS_IMAP_BULKSTAT 0x2 |
@@ -514,7 +514,6 @@ int xfs_itruncate_finish(struct xfs_trans **, xfs_inode_t *, | |||
514 | xfs_fsize_t, int, int); | 514 | xfs_fsize_t, int, int); |
515 | int xfs_iunlink(struct xfs_trans *, xfs_inode_t *); | 515 | int xfs_iunlink(struct xfs_trans *, xfs_inode_t *); |
516 | 516 | ||
517 | struct xfs_inode * xfs_inode_alloc(struct xfs_mount *, xfs_ino_t); | ||
518 | void xfs_idestroy(xfs_inode_t *); | 517 | void xfs_idestroy(xfs_inode_t *); |
519 | void xfs_iextract(xfs_inode_t *); | 518 | void xfs_iextract(xfs_inode_t *); |
520 | void xfs_iext_realloc(xfs_inode_t *, int, int); | 519 | void xfs_iext_realloc(xfs_inode_t *, int, int); |
@@ -531,6 +530,9 @@ void xfs_mark_inode_dirty_sync(xfs_inode_t *); | |||
531 | 530 | ||
532 | #endif /* __KERNEL__ */ | 531 | #endif /* __KERNEL__ */ |
533 | 532 | ||
533 | int xfs_inotobp(struct xfs_mount *, struct xfs_trans *, | ||
534 | xfs_ino_t, struct xfs_dinode **, | ||
535 | struct xfs_buf **, int *, uint); | ||
534 | int xfs_itobp(struct xfs_mount *, struct xfs_trans *, | 536 | int xfs_itobp(struct xfs_mount *, struct xfs_trans *, |
535 | struct xfs_inode *, struct xfs_dinode **, | 537 | struct xfs_inode *, struct xfs_dinode **, |
536 | struct xfs_buf **, xfs_daddr_t, uint, uint); | 538 | struct xfs_buf **, xfs_daddr_t, uint, uint); |