Changeset 90582 in vbox
- Timestamp:
- Aug 9, 2021 8:23:33 PM (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Additions/linux/sharedfolders/regops.c
r90497 r90582 75 75 #if RTLNX_VER_MAX(2,5,12) 76 76 # define PageUptodate(a_pPage) Page_Uptodate(a_pPage) 77 #endif 78 79 80 /********************************************************************************************************************************* 81 * Defined Constants And Macros * 82 *********************************************************************************************************************************/ 83 /** @def VBSF_GET_ITER_TYPE 84 * Accessor for getting iov iter type member which changed name in 5.14. */ 85 #if RTLNX_VER_MIN(5,14,0) 86 # define VBSF_GET_ITER_TYPE(a_pIter) ((a_pIter)->iter_type) 87 #else 88 # define VBSF_GET_ITER_TYPE(a_pIter) ((a_pIter)->iter) 77 89 #endif 78 90 … … 2127 2139 2128 2140 Assert(iov_iter_count(iter) + pStash->cb > 0); 2129 # if RTLNX_VER_MIN(5,14,0) 2130 if (!(iter->iter_type & ITER_KVEC)) { 2131 #else 2132 if (!(iter->type & ITER_KVEC)) { 2133 #endif 2141 if (!(VBSF_GET_ITER_TYPE(iter) & ITER_KVEC)) { 2134 2142 /* 2135 2143 * Do we have a stashed page? … … 2377 2385 { 2378 2386 size_t cPages; 2379 #if RTLNX_VER_MIN(5,14,0) 2380 if (iter_is_iovec(iter) || (iter->iter_type & ITER_KVEC)) { 2381 #elif RTLNX_VER_MIN(3,16,0) 2382 if (iter_is_iovec(iter) || (iter->type & ITER_KVEC)) { 2383 #endif 2387 # if RTLNX_VER_MIN(3,16,0) 2388 if (iter_is_iovec(iter) || (VBSF_GET_ITER_TYPE(iter) & ITER_KVEC)) { 2389 # endif 2384 2390 const struct iovec *pCurIov = iter->iov; 2385 2391 size_t cLeft = iter->nr_segs; … … 2443 2449 /* Won't bother with accurate counts for the next two types, just make 2444 2450 some rough estimates (does pipes have segments?): */ 2445 # if RTLNX_VER_MIN(5,14,0) 2446 size_t cSegs = iter->iter_type & ITER_BVEC ? RT_MAX(1, iter->nr_segs) : 1; 2447 # else 2448 size_t cSegs = iter->type & ITER_BVEC ? RT_MAX(1, iter->nr_segs) : 1; 2449 #endif 2451 size_t cSegs = VBSF_GET_ITER_TYPE(iter) & ITER_BVEC ? RT_MAX(1, iter->nr_segs) : 1; 2450 2452 cPages = (iov_iter_count(iter) + (PAGE_SIZE * 2 - 2) * cSegs) >> PAGE_SHIFT; 2451 2453 } … … 2599 2601 struct vbsf_super_info *pSuperInfo = VBSF_GET_SUPER_INFO(inode->i_sb); 2600 2602 2601 #if RTLNX_VER_MIN(5,14,0)2602 2603 SFLOGFLOW(("vbsf_reg_read_iter: inode=%p file=%p size=%#zx off=%#llx type=%#x\n", 2603 inode, kio->ki_filp, cbToRead, kio->ki_pos, iter->iter_type)); 2604 #else 2605 SFLOGFLOW(("vbsf_reg_read_iter: inode=%p file=%p size=%#zx off=%#llx type=%#x\n", 2606 inode, kio->ki_filp, cbToRead, kio->ki_pos, iter->type)); 2607 #endif 2608 2604 inode, kio->ki_filp, cbToRead, kio->ki_pos, VBSF_GET_ITER_TYPE(iter) )); 2609 2605 AssertReturn(S_ISREG(inode->i_mode), -EINVAL); 2610 2606 … … 2840 2836 # endif 2841 2837 2842 #if RTLNX_VER_MIN(5,14,0) 2838 2843 2839 SFLOGFLOW(("vbsf_reg_write_iter: inode=%p file=%p size=%#zx off=%#llx type=%#x\n", 2844 inode, kio->ki_filp, cbToWrite, offFile, iter->iter_type)); 2845 #else 2846 SFLOGFLOW(("vbsf_reg_write_iter: inode=%p file=%p size=%#zx off=%#llx type=%#x\n", 2847 inode, kio->ki_filp, cbToWrite, offFile, iter->type)); 2848 #endif 2840 inode, kio->ki_filp, cbToWrite, offFile, VBSF_GET_ITER_TYPE(iter) )); 2849 2841 AssertReturn(S_ISREG(inode->i_mode), -EINVAL); 2850 2842 … … 3759 3751 3760 3752 #if RTLNX_VER_MIN(5,14,0) 3753 /** 3754 * Companion to vbsf_write_begin (i.e. shouldn't be called). 3755 */ 3761 3756 static int vbsf_write_end(struct file *file, struct address_space *mapping, 3762 loff_t pos, unsigned int len, unsigned int copied,3763 struct page *page, void *fsdata)3757 loff_t pos, unsigned int len, unsigned int copied, 3758 struct page *page, void *fsdata) 3764 3759 { 3765 3760 static uint64_t volatile s_cCalls = 0; … … 3774 3769 # endif 3775 3770 } 3776 3777 3771 return -ENOTSUPP; 3778 3772 } 3779 #endif 3773 #endif /* KERNEL_VERSION >= 5.14.0 */ 3774 3780 3775 3781 3776 #if RTLNX_VER_MIN(2,4,10)
Note:
See TracChangeset
for help on using the changeset viewer.