*
* You should have received a copy of the GNU General Public License
* version 2 along with this program; If not, see
- * http://www.sun.com/software/products/lustre/docs/GPLv2.pdf
- *
- * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
+ * http://www.gnu.org/licenses/gpl-2.0.html
*
* GPL HEADER END
*/
static inline void ll_delete_from_page_cache(struct page *page)
{
ll_remove_from_page_cache(page);
- page_cache_release(page);
+ put_page(page);
}
#else /* HAVE_DELETE_FROM_PAGE_CACHE */
#define ll_delete_from_page_cache(page) delete_from_page_cache(page)
#endif /* !HAVE_DELETE_FROM_PAGE_CACHE */
static inline void
+ll_cancel_dirty_page(struct address_space *mapping, struct page *page)
+{
+#ifdef HAVE_NEW_CANCEL_DIRTY_PAGE
+ cancel_dirty_page(page);
+#elif defined(HAVE_CANCEL_DIRTY_PAGE)
+ cancel_dirty_page(page, PAGE_SIZE);
+#else
+ if (TestClearPageDirty(page))
+ account_page_cleaned(page, mapping);
+#endif /* HAVE_NEW_CANCEL_DIRTY_PAGE */
+}
+
+static inline void
truncate_complete_page(struct address_space *mapping, struct page *page)
{
if (page->mapping != mapping)
if (PagePrivate(page))
#ifdef HAVE_INVALIDATE_RANGE
- page->mapping->a_ops->invalidatepage(page, 0, PAGE_CACHE_SIZE);
+ page->mapping->a_ops->invalidatepage(page, 0, PAGE_SIZE);
#else
page->mapping->a_ops->invalidatepage(page, 0);
#endif
-#ifdef HAVE_CANCEL_DIRTY_PAGE
- cancel_dirty_page(page, PAGE_SIZE);
-#else
- if (TestClearPageDirty(page))
- account_page_cleaned(page, mapping);
-#endif /* HAVE_CANCEL_DIRTY_PAGE */
+
+ ll_cancel_dirty_page(mapping, page);
ClearPageMappedToDisk(page);
ll_delete_from_page_cache(page);
}
# define ll_d_count(d) ((d)->d_count)
#endif /* HAVE_DCACHE_LOCK */
-#ifdef ATTR_OPEN
-# define ATTR_FROM_OPEN ATTR_OPEN
-#else
-# ifndef ATTR_FROM_OPEN
-# define ATTR_FROM_OPEN 0
-# endif
-#endif /* ATTR_OPEN */
-
-#ifndef ATTR_RAW
-#define ATTR_RAW 0
-#endif
-
-#ifndef ATTR_CTIME_SET
-/*
- * set ATTR_CTIME_SET to a high value to avoid any risk of collision with other
- * ATTR_* attributes (see bug 13828)
- */
-#define ATTR_CTIME_SET (1 << 28)
+#ifndef HAVE_IN_COMPAT_SYSCALL
+#define in_compat_syscall is_compat_task
#endif
#endif /* LUSTRE_PATCHLESS_COMPAT_H */