File tree Expand file tree Collapse file tree 1 file changed +9
-8
lines changed Expand file tree Collapse file tree 1 file changed +9
-8
lines changed Original file line number Diff line number Diff line change @@ -439,29 +439,28 @@ xfs_getbmap(
439
439
whichfork = XFS_COW_FORK ;
440
440
else
441
441
whichfork = XFS_DATA_FORK ;
442
- ifp = xfs_ifork_ptr (ip , whichfork );
443
442
444
443
xfs_ilock (ip , XFS_IOLOCK_SHARED );
445
444
switch (whichfork ) {
446
445
case XFS_ATTR_FORK :
446
+ lock = xfs_ilock_attr_map_shared (ip );
447
447
if (!xfs_inode_has_attr_fork (ip ))
448
- goto out_unlock_iolock ;
448
+ goto out_unlock_ilock ;
449
449
450
450
max_len = 1LL << 32 ;
451
- lock = xfs_ilock_attr_map_shared (ip );
452
451
break ;
453
452
case XFS_COW_FORK :
453
+ lock = XFS_ILOCK_SHARED ;
454
+ xfs_ilock (ip , lock );
455
+
454
456
/* No CoW fork? Just return */
455
- if (!ifp )
456
- goto out_unlock_iolock ;
457
+ if (!xfs_ifork_ptr ( ip , whichfork ) )
458
+ goto out_unlock_ilock ;
457
459
458
460
if (xfs_get_cowextsz_hint (ip ))
459
461
max_len = mp -> m_super -> s_maxbytes ;
460
462
else
461
463
max_len = XFS_ISIZE (ip );
462
-
463
- lock = XFS_ILOCK_SHARED ;
464
- xfs_ilock (ip , lock );
465
464
break ;
466
465
case XFS_DATA_FORK :
467
466
if (!(iflags & BMV_IF_DELALLOC ) &&
@@ -491,6 +490,8 @@ xfs_getbmap(
491
490
break ;
492
491
}
493
492
493
+ ifp = xfs_ifork_ptr (ip , whichfork );
494
+
494
495
switch (ifp -> if_format ) {
495
496
case XFS_DINODE_FMT_EXTENTS :
496
497
case XFS_DINODE_FMT_BTREE :
You can’t perform that action at this time.
0 commit comments