|
@@ -48,7 +48,6 @@
|
|
|
#include "xfs_quota.h"
|
|
|
#include "xfs_utils.h"
|
|
|
#include "xfs_rtalloc.h"
|
|
|
-#include "xfs_refcache.h"
|
|
|
#include "xfs_trans_space.h"
|
|
|
#include "xfs_log_priv.h"
|
|
|
#include "xfs_filestream.h"
|
|
@@ -1520,12 +1519,6 @@ xfs_release(
|
|
|
xfs_flush_pages(ip, 0, -1, XFS_B_ASYNC, FI_NONE);
|
|
|
}
|
|
|
|
|
|
-#ifdef HAVE_REFCACHE
|
|
|
- /* If we are in the NFS reference cache then don't do this now */
|
|
|
- if (ip->i_refcache)
|
|
|
- return 0;
|
|
|
-#endif
|
|
|
-
|
|
|
if (ip->i_d.di_nlink != 0) {
|
|
|
if ((((ip->i_d.di_mode & S_IFMT) == S_IFREG) &&
|
|
|
((ip->i_size > 0) || (VN_CACHED(vp) > 0 ||
|
|
@@ -2448,14 +2441,6 @@ xfs_remove(
|
|
|
goto std_return;
|
|
|
}
|
|
|
|
|
|
- /*
|
|
|
- * Before we drop our extra reference to the inode, purge it
|
|
|
- * from the refcache if it is there. By waiting until afterwards
|
|
|
- * to do the IRELE, we ensure that we won't go inactive in the
|
|
|
- * xfs_refcache_purge_ip routine (although that would be OK).
|
|
|
- */
|
|
|
- xfs_refcache_purge_ip(ip);
|
|
|
-
|
|
|
/*
|
|
|
* If we are using filestreams, kill the stream association.
|
|
|
* If the file is still open it may get a new one but that
|
|
@@ -2495,14 +2480,6 @@ xfs_remove(
|
|
|
cancel_flags |= XFS_TRANS_ABORT;
|
|
|
xfs_trans_cancel(tp, cancel_flags);
|
|
|
|
|
|
- /*
|
|
|
- * Before we drop our extra reference to the inode, purge it
|
|
|
- * from the refcache if it is there. By waiting until afterwards
|
|
|
- * to do the IRELE, we ensure that we won't go inactive in the
|
|
|
- * xfs_refcache_purge_ip routine (although that would be OK).
|
|
|
- */
|
|
|
- xfs_refcache_purge_ip(ip);
|
|
|
-
|
|
|
IRELE(ip);
|
|
|
|
|
|
goto std_return;
|
|
@@ -3460,16 +3437,7 @@ xfs_rwunlock(
|
|
|
{
|
|
|
if (S_ISDIR(ip->i_d.di_mode))
|
|
|
return;
|
|
|
- if (locktype == VRWLOCK_WRITE) {
|
|
|
- /*
|
|
|
- * In the write case, we may have added a new entry to
|
|
|
- * the reference cache. This might store a pointer to
|
|
|
- * an inode to be released in this inode. If it is there,
|
|
|
- * clear the pointer and release the inode after unlocking
|
|
|
- * this one.
|
|
|
- */
|
|
|
- xfs_refcache_iunlock(ip, XFS_IOLOCK_EXCL);
|
|
|
- } else {
|
|
|
+ if (locktype != VRWLOCK_WRITE) {
|
|
|
ASSERT((locktype == VRWLOCK_READ) ||
|
|
|
(locktype == VRWLOCK_WRITE_DIRECT));
|
|
|
xfs_iunlock(ip, XFS_IOLOCK_SHARED);
|