@@ -2273,6 +2273,16 @@ zfs_mkdir(znode_t *dzp, const char *dirname, vattr_t *vap, znode_t **zpp,
2273
2273
return (0 );
2274
2274
}
2275
2275
2276
+ #if __FreeBSD_version < 1300124
2277
+ static void
2278
+ cache_vop_rmdir (struct vnode * dvp , struct vnode * vp )
2279
+ {
2280
+
2281
+ cache_purge (dvp );
2282
+ cache_purge (vp );
2283
+ }
2284
+ #endif
2285
+
2276
2286
/*
2277
2287
* Remove a directory subdir entry. If the current working
2278
2288
* directory is the same as the subdir to be removed, the
@@ -2332,8 +2342,6 @@ zfs_rmdir_(vnode_t *dvp, vnode_t *vp, const char *name, cred_t *cr)
2332
2342
return (error );
2333
2343
}
2334
2344
2335
- cache_purge (dvp );
2336
-
2337
2345
error = zfs_link_destroy (dzp , name , zp , tx , ZEXISTS , NULL );
2338
2346
2339
2347
if (error == 0 ) {
@@ -2344,7 +2352,7 @@ zfs_rmdir_(vnode_t *dvp, vnode_t *vp, const char *name, cred_t *cr)
2344
2352
2345
2353
dmu_tx_commit (tx );
2346
2354
2347
- cache_purge ( vp );
2355
+ cache_vop_rmdir ( dvp , vp );
2348
2356
out :
2349
2357
if (zfsvfs -> z_os -> os_sync == ZFS_SYNC_ALWAYS )
2350
2358
zil_commit (zilog , 0 );
@@ -3901,9 +3909,9 @@ zfs_rename_check(znode_t *szp, znode_t *sdzp, znode_t *tdzp)
3901
3909
return (error );
3902
3910
}
3903
3911
3904
- #if __FreeBSD_version < 1300110
3912
+ #if __FreeBSD_version < 1300124
3905
3913
static void
3906
- cache_rename (struct vnode * fdvp , struct vnode * fvp , struct vnode * tdvp ,
3914
+ cache_vop_rename (struct vnode * fdvp , struct vnode * fvp , struct vnode * tdvp ,
3907
3915
struct vnode * tvp , struct componentname * fcnp , struct componentname * tcnp )
3908
3916
{
3909
3917
@@ -4172,7 +4180,7 @@ zfs_rename_(vnode_t *sdvp, vnode_t **svpp, struct componentname *scnp,
4172
4180
}
4173
4181
}
4174
4182
if (error == 0 ) {
4175
- cache_rename (sdvp , * svpp , tdvp , * tvpp , scnp , tcnp );
4183
+ cache_vop_rename (sdvp , * svpp , tdvp , * tvpp , scnp , tcnp );
4176
4184
}
4177
4185
}
4178
4186
0 commit comments