fix: ntfs_inode_sync_file_name() don't close root dir many times in error paths

master
szaka 2007-11-19 00:10:09 +00:00
parent 4ab5ed8a49
commit 6523139d60
1 changed files with 4 additions and 2 deletions

View File

@ -588,7 +588,8 @@ static int ntfs_inode_sync_file_name(ntfs_inode *ni)
err = errno;
ntfs_log_perror("Failed to get index ctx, inode %lld",
(long long)index_ni->mft_no);
ntfs_inode_close(index_ni);
if (ni != index_ni && ntfs_inode_close(index_ni) && !err)
err = errno;
continue;
}
if (ntfs_index_lookup(fn, sizeof(FILE_NAME_ATTR), ictx)) {
@ -601,7 +602,8 @@ static int ntfs_inode_sync_file_name(ntfs_inode *ni)
ntfs_log_perror("Index lookup failed, inode %lld",
(long long)index_ni->mft_no);
ntfs_index_ctx_put(ictx);
ntfs_inode_close(index_ni);
if (ni != index_ni && ntfs_inode_close(index_ni) && !err)
err = errno;
continue;
}
/* Update flags and file size. */