diff options
Diffstat (limited to 'fs/xfs/xfs_rw.c')
-rw-r--r-- | fs/xfs/xfs_rw.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/fs/xfs/xfs_rw.c b/fs/xfs/xfs_rw.c index 6fa10897d417..4c199d18f850 100644 --- a/fs/xfs/xfs_rw.c +++ b/fs/xfs/xfs_rw.c | |||
@@ -336,3 +336,25 @@ xfs_bwrite( | |||
336 | } | 336 | } |
337 | return (error); | 337 | return (error); |
338 | } | 338 | } |
339 | |||
340 | /* | ||
341 | * helper function to extract extent size hint from inode | ||
342 | */ | ||
343 | xfs_extlen_t | ||
344 | xfs_get_extsz_hint( | ||
345 | struct xfs_inode *ip) | ||
346 | { | ||
347 | xfs_extlen_t extsz; | ||
348 | |||
349 | if (unlikely(XFS_IS_REALTIME_INODE(ip))) { | ||
350 | extsz = (ip->i_d.di_flags & XFS_DIFLAG_EXTSIZE) | ||
351 | ? ip->i_d.di_extsize | ||
352 | : ip->i_mount->m_sb.sb_rextsize; | ||
353 | ASSERT(extsz); | ||
354 | } else { | ||
355 | extsz = (ip->i_d.di_flags & XFS_DIFLAG_EXTSIZE) | ||
356 | ? ip->i_d.di_extsize : 0; | ||
357 | } | ||
358 | |||
359 | return extsz; | ||
360 | } | ||