|
|
| version 1.704, 2007/07/18 15:54:19 | version 1.705, 2007/08/06 15:41:08 |
|---|---|
| Line 337 xfs_setattr( | Line 337 xfs_setattr( |
| } | } |
| } | } |
| } else { | } else { |
| if (DM_EVENT_ENABLED (vp->v_vfsp, ip, DM_EVENT_TRUNCATE) && | if (DM_EVENT_ENABLED(ip, DM_EVENT_TRUNCATE) && |
| !(flags & ATTR_DMI)) { | !(flags & ATTR_DMI)) { |
| int dmflags = AT_DELAY_FLAG(flags) | DM_SEM_FLAG_WR; | int dmflags = AT_DELAY_FLAG(flags) | DM_SEM_FLAG_WR; |
| code = XFS_SEND_DATA(mp, DM_EVENT_TRUNCATE, vp, | code = XFS_SEND_DATA(mp, DM_EVENT_TRUNCATE, vp, |
| Line 896 xfs_setattr( | Line 896 xfs_setattr( |
| return code; | return code; |
| } | } |
| if (DM_EVENT_ENABLED(vp->v_vfsp, ip, DM_EVENT_ATTRIBUTE) && | if (DM_EVENT_ENABLED(ip, DM_EVENT_ATTRIBUTE) && |
| !(flags & ATTR_DMI)) { | !(flags & ATTR_DMI)) { |
| (void) XFS_SEND_NAMESP(mp, DM_EVENT_ATTRIBUTE, vp, DM_RIGHT_NULL, | (void) XFS_SEND_NAMESP(mp, DM_EVENT_ATTRIBUTE, vp, DM_RIGHT_NULL, |
| NULL, DM_RIGHT_NULL, NULL, NULL, | NULL, DM_RIGHT_NULL, NULL, NULL, |
| Line 1663 xfs_inactive( | Line 1663 xfs_inactive( |
| mp = ip->i_mount; | mp = ip->i_mount; |
| if (ip->i_d.di_nlink == 0 && | if (ip->i_d.di_nlink == 0 && DM_EVENT_ENABLED(ip, DM_EVENT_DESTROY)) { |
| DM_EVENT_ENABLED(vp->v_vfsp, ip, DM_EVENT_DESTROY)) { | |
| (void) XFS_SEND_DESTROY(mp, vp, DM_RIGHT_NULL); | (void) XFS_SEND_DESTROY(mp, vp, DM_RIGHT_NULL); |
| } | } |
| Line 1919 xfs_create( | Line 1918 xfs_create( |
| dm_di_mode = vap->va_mode; | dm_di_mode = vap->va_mode; |
| namelen = VNAMELEN(dentry); | namelen = VNAMELEN(dentry); |
| if (DM_EVENT_ENABLED(dir_vp->v_vfsp, dp, DM_EVENT_CREATE)) { | if (DM_EVENT_ENABLED(dp, DM_EVENT_CREATE)) { |
| error = XFS_SEND_NAMESP(mp, DM_EVENT_CREATE, | error = XFS_SEND_NAMESP(mp, DM_EVENT_CREATE, |
| dir_vp, DM_RIGHT_NULL, NULL, | dir_vp, DM_RIGHT_NULL, NULL, |
| DM_RIGHT_NULL, name, NULL, | DM_RIGHT_NULL, name, NULL, |
| Line 2084 xfs_create( | Line 2083 xfs_create( |
| /* Fallthrough to std_return with error = 0 */ | /* Fallthrough to std_return with error = 0 */ |
| std_return: | std_return: |
| if ( (*vpp || (error != 0 && dm_event_sent != 0)) && | if ((*vpp || (error != 0 && dm_event_sent != 0)) && |
| DM_EVENT_ENABLED(dir_vp->v_vfsp, XFS_BHVTOI(dir_bdp), | DM_EVENT_ENABLED(XFS_BHVTOI(dir_bdp), DM_EVENT_POSTCREATE)) { |
| DM_EVENT_POSTCREATE)) { | |
| (void) XFS_SEND_NAMESP(mp, DM_EVENT_POSTCREATE, | (void) XFS_SEND_NAMESP(mp, DM_EVENT_POSTCREATE, |
| dir_vp, DM_RIGHT_NULL, | dir_vp, DM_RIGHT_NULL, |
| *vpp ? vp:NULL, | *vpp ? vp:NULL, |
| Line 2420 xfs_remove( | Line 2418 xfs_remove( |
| IRELE(ip); | IRELE(ip); |
| } | } |
| if (DM_EVENT_ENABLED(dir_vp->v_vfsp, dp, DM_EVENT_REMOVE)) { | if (DM_EVENT_ENABLED(dp, DM_EVENT_REMOVE)) { |
| error = XFS_SEND_NAMESP(mp, DM_EVENT_REMOVE, dir_vp, | error = XFS_SEND_NAMESP(mp, DM_EVENT_REMOVE, dir_vp, |
| DM_RIGHT_NULL, NULL, DM_RIGHT_NULL, | DM_RIGHT_NULL, NULL, DM_RIGHT_NULL, |
| name, NULL, dm_di_mode, 0, 0); | name, NULL, dm_di_mode, 0, 0); |
| Line 2596 xfs_remove( | Line 2594 xfs_remove( |
| /* Fall through to std_return with error = 0 */ | /* Fall through to std_return with error = 0 */ |
| std_return: | std_return: |
| if (DM_EVENT_ENABLED(dir_vp->v_vfsp, dp, | if (DM_EVENT_ENABLED(dp, DM_EVENT_POSTREMOVE)) { |
| DM_EVENT_POSTREMOVE)) { | |
| (void) XFS_SEND_NAMESP(mp, DM_EVENT_POSTREMOVE, | (void) XFS_SEND_NAMESP(mp, DM_EVENT_POSTREMOVE, |
| dir_vp, DM_RIGHT_NULL, | dir_vp, DM_RIGHT_NULL, |
| NULL, DM_RIGHT_NULL, | NULL, DM_RIGHT_NULL, |
| Line 2674 xfs_link( | Line 2671 xfs_link( |
| if (XFS_FORCED_SHUTDOWN(mp)) | if (XFS_FORCED_SHUTDOWN(mp)) |
| return XFS_ERROR(EIO); | return XFS_ERROR(EIO); |
| if (DM_EVENT_ENABLED(src_vp->v_vfsp, tdp, DM_EVENT_LINK)) { | if (DM_EVENT_ENABLED(tdp, DM_EVENT_LINK)) { |
| error = XFS_SEND_NAMESP(mp, DM_EVENT_LINK, | error = XFS_SEND_NAMESP(mp, DM_EVENT_LINK, |
| target_dir_vp, DM_RIGHT_NULL, | target_dir_vp, DM_RIGHT_NULL, |
| src_vp, DM_RIGHT_NULL, | src_vp, DM_RIGHT_NULL, |
| Line 2785 xfs_link( | Line 2782 xfs_link( |
| /* Fall through to std_return with error = 0. */ | /* Fall through to std_return with error = 0. */ |
| std_return: | std_return: |
| if (DM_EVENT_ENABLED(src_vp->v_vfsp, sip, | if (DM_EVENT_ENABLED(sip, DM_EVENT_POSTLINK)) { |
| DM_EVENT_POSTLINK)) { | |
| (void) XFS_SEND_NAMESP(mp, DM_EVENT_POSTLINK, | (void) XFS_SEND_NAMESP(mp, DM_EVENT_POSTLINK, |
| target_dir_vp, DM_RIGHT_NULL, | target_dir_vp, DM_RIGHT_NULL, |
| src_vp, DM_RIGHT_NULL, | src_vp, DM_RIGHT_NULL, |
| Line 2850 xfs_mkdir( | Line 2846 xfs_mkdir( |
| dp_joined_to_trans = B_FALSE; | dp_joined_to_trans = B_FALSE; |
| dm_di_mode = vap->va_mode; | dm_di_mode = vap->va_mode; |
| if (DM_EVENT_ENABLED(dir_vp->v_vfsp, dp, DM_EVENT_CREATE)) { | if (DM_EVENT_ENABLED(dp, DM_EVENT_CREATE)) { |
| error = XFS_SEND_NAMESP(mp, DM_EVENT_CREATE, | error = XFS_SEND_NAMESP(mp, DM_EVENT_CREATE, |
| dir_vp, DM_RIGHT_NULL, NULL, | dir_vp, DM_RIGHT_NULL, NULL, |
| DM_RIGHT_NULL, dir_name, NULL, | DM_RIGHT_NULL, dir_name, NULL, |
| Line 3007 xfs_mkdir( | Line 3003 xfs_mkdir( |
| * xfs_trans_commit. */ | * xfs_trans_commit. */ |
| std_return: | std_return: |
| if ( (created || (error != 0 && dm_event_sent != 0)) && | if ((created || (error != 0 && dm_event_sent != 0)) && |
| DM_EVENT_ENABLED(dir_vp->v_vfsp, XFS_BHVTOI(dir_bdp), | DM_EVENT_ENABLED(XFS_BHVTOI(dir_bdp), DM_EVENT_POSTCREATE)) { |
| DM_EVENT_POSTCREATE)) { | |
| (void) XFS_SEND_NAMESP(mp, DM_EVENT_POSTCREATE, | (void) XFS_SEND_NAMESP(mp, DM_EVENT_POSTCREATE, |
| dir_vp, DM_RIGHT_NULL, | dir_vp, DM_RIGHT_NULL, |
| created ? XFS_ITOV(cdp):NULL, | created ? XFS_ITOV(cdp):NULL, |
| Line 3078 xfs_rmdir( | Line 3073 xfs_rmdir( |
| IRELE(cdp); | IRELE(cdp); |
| } | } |
| if (DM_EVENT_ENABLED(dir_vp->v_vfsp, dp, DM_EVENT_REMOVE)) { | if (DM_EVENT_ENABLED(dp, DM_EVENT_REMOVE)) { |
| error = XFS_SEND_NAMESP(mp, DM_EVENT_REMOVE, | error = XFS_SEND_NAMESP(mp, DM_EVENT_REMOVE, |
| dir_vp, DM_RIGHT_NULL, | dir_vp, DM_RIGHT_NULL, |
| NULL, DM_RIGHT_NULL, | NULL, DM_RIGHT_NULL, |
| Line 3267 xfs_rmdir( | Line 3262 xfs_rmdir( |
| /* Fall through to std_return with error = 0 or the errno | /* Fall through to std_return with error = 0 or the errno |
| * from xfs_trans_commit. */ | * from xfs_trans_commit. */ |
| std_return: | std_return: |
| if (DM_EVENT_ENABLED(dir_vp->v_vfsp, dp, DM_EVENT_POSTREMOVE)) { | if (DM_EVENT_ENABLED(dp, DM_EVENT_POSTREMOVE)) { |
| (void) XFS_SEND_NAMESP(mp, DM_EVENT_POSTREMOVE, | (void) XFS_SEND_NAMESP(mp, DM_EVENT_POSTREMOVE, |
| dir_vp, DM_RIGHT_NULL, | dir_vp, DM_RIGHT_NULL, |
| NULL, DM_RIGHT_NULL, | NULL, DM_RIGHT_NULL, |
| Line 3402 xfs_symlink( | Line 3397 xfs_symlink( |
| } | } |
| } | } |
| if (DM_EVENT_ENABLED(dir_vp->v_vfsp, dp, DM_EVENT_SYMLINK)) { | if (DM_EVENT_ENABLED(dp, DM_EVENT_SYMLINK)) { |
| error = XFS_SEND_NAMESP(mp, DM_EVENT_SYMLINK, dir_vp, | error = XFS_SEND_NAMESP(mp, DM_EVENT_SYMLINK, dir_vp, |
| DM_RIGHT_NULL, NULL, DM_RIGHT_NULL, | DM_RIGHT_NULL, NULL, DM_RIGHT_NULL, |
| link_name, target_path, 0, 0, 0); | link_name, target_path, 0, 0, 0); |
| Line 3602 xfs_symlink( | Line 3597 xfs_symlink( |
| /* Fall through to std_return with error = 0 or errno from | /* Fall through to std_return with error = 0 or errno from |
| * xfs_trans_commit */ | * xfs_trans_commit */ |
| std_return: | std_return: |
| if (DM_EVENT_ENABLED(dir_vp->v_vfsp, XFS_BHVTOI(dir_bdp), | if (DM_EVENT_ENABLED(XFS_BHVTOI(dir_bdp), DM_EVENT_POSTSYMLINK)) { |
| DM_EVENT_POSTSYMLINK)) { | |
| (void) XFS_SEND_NAMESP(mp, DM_EVENT_POSTSYMLINK, | (void) XFS_SEND_NAMESP(mp, DM_EVENT_POSTSYMLINK, |
| dir_vp, DM_RIGHT_NULL, | dir_vp, DM_RIGHT_NULL, |
| error ? NULL : XFS_ITOV(ip), | error ? NULL : XFS_ITOV(ip), |
| Line 4105 xfs_alloc_file_space( | Line 4099 xfs_alloc_file_space( |
| /* Generate a DMAPI event if needed. */ | /* Generate a DMAPI event if needed. */ |
| if (alloc_type != 0 && offset < ip->i_size && | if (alloc_type != 0 && offset < ip->i_size && |
| (attr_flags&ATTR_DMI) == 0 && | (attr_flags&ATTR_DMI) == 0 && |
| DM_EVENT_ENABLED(XFS_MTOVFS(mp), ip, DM_EVENT_WRITE)) { | DM_EVENT_ENABLED(ip, DM_EVENT_WRITE)) { |
| xfs_off_t end_dmi_offset; | xfs_off_t end_dmi_offset; |
| end_dmi_offset = offset+len; | end_dmi_offset = offset+len; |
| Line 4219 retry: | Line 4213 retry: |
| allocatesize_fsb -= allocated_fsb; | allocatesize_fsb -= allocated_fsb; |
| } | } |
| dmapi_enospc_check: | dmapi_enospc_check: |
| if (error == ENOSPC && (attr_flags&ATTR_DMI) == 0 && | if (error == ENOSPC && (attr_flags & ATTR_DMI) == 0 && |
| DM_EVENT_ENABLED(XFS_MTOVFS(mp), ip, DM_EVENT_NOSPACE)) { | DM_EVENT_ENABLED(ip, DM_EVENT_NOSPACE)) { |
| error = XFS_SEND_NAMESP(mp, DM_EVENT_NOSPACE, | error = XFS_SEND_NAMESP(mp, DM_EVENT_NOSPACE, |
| XFS_ITOV(ip), DM_RIGHT_NULL, | XFS_ITOV(ip), DM_RIGHT_NULL, |
| XFS_ITOV(ip), DM_RIGHT_NULL, | XFS_ITOV(ip), DM_RIGHT_NULL, |
| Line 4365 xfs_free_file_space( | Line 4358 xfs_free_file_space( |
| end_dmi_offset = offset + len; | end_dmi_offset = offset + len; |
| endoffset_fsb = XFS_B_TO_FSBT(mp, end_dmi_offset); | endoffset_fsb = XFS_B_TO_FSBT(mp, end_dmi_offset); |
| if (offset < ip->i_size && | if (offset < ip->i_size && (attr_flags & ATTR_DMI) == 0 && |
| (attr_flags & ATTR_DMI) == 0 && | DM_EVENT_ENABLED(ip, DM_EVENT_WRITE)) { |
| DM_EVENT_ENABLED(XFS_MTOVFS(mp), ip, DM_EVENT_WRITE)) { | |
| if (end_dmi_offset > ip->i_size) | if (end_dmi_offset > ip->i_size) |
| end_dmi_offset = ip->i_size; | end_dmi_offset = ip->i_size; |
| error = XFS_SEND_DATA(mp, DM_EVENT_WRITE, vp, | error = XFS_SEND_DATA(mp, DM_EVENT_WRITE, vp, |