[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>
This commit is contained in:

committed by
Tim Shimmin

parent
b93bd20cd5
commit
993386c19a
@@ -5764,7 +5764,7 @@ xfs_getbmapx_fix_eof_hole(
|
||||
*/
|
||||
int /* error code */
|
||||
xfs_getbmap(
|
||||
bhv_desc_t *bdp, /* XFS behavior descriptor*/
|
||||
xfs_inode_t *ip,
|
||||
struct getbmap *bmv, /* user bmap structure */
|
||||
void __user *ap, /* pointer to user's array */
|
||||
int interface) /* interface flags */
|
||||
@@ -5773,7 +5773,6 @@ xfs_getbmap(
|
||||
int error; /* return value */
|
||||
__int64_t fixlen; /* length for -1 case */
|
||||
int i; /* extent number */
|
||||
xfs_inode_t *ip; /* xfs incore inode pointer */
|
||||
bhv_vnode_t *vp; /* corresponding vnode */
|
||||
int lock; /* lock state */
|
||||
xfs_bmbt_irec_t *map; /* buffer for user's data */
|
||||
@@ -5791,8 +5790,7 @@ xfs_getbmap(
|
||||
int bmapi_flags; /* flags for xfs_bmapi */
|
||||
__int32_t oflags; /* getbmapx bmv_oflags field */
|
||||
|
||||
vp = BHV_TO_VNODE(bdp);
|
||||
ip = XFS_BHVTOI(bdp);
|
||||
vp = XFS_ITOV(ip);
|
||||
mp = ip->i_mount;
|
||||
|
||||
whichfork = interface & BMV_IF_ATTRFORK ? XFS_ATTR_FORK : XFS_DATA_FORK;
|
||||
|
Reference in New Issue
Block a user