.. | .. |
---|
| 1 | +// SPDX-License-Identifier: GPL-2.0-or-later |
---|
1 | 2 | /* AFS filesystem directory editing |
---|
2 | 3 | * |
---|
3 | 4 | * Copyright (C) 2018 Red Hat, Inc. All Rights Reserved. |
---|
4 | 5 | * Written by David Howells (dhowells@redhat.com) |
---|
5 | | - * |
---|
6 | | - * This program is free software; you can redistribute it and/or |
---|
7 | | - * modify it under the terms of the GNU General Public Licence |
---|
8 | | - * as published by the Free Software Foundation; either version |
---|
9 | | - * 2 of the Licence, or (at your option) any later version. |
---|
10 | 6 | */ |
---|
11 | 7 | |
---|
12 | 8 | #include <linux/kernel.h> |
---|
.. | .. |
---|
247 | 243 | index, gfp); |
---|
248 | 244 | if (!page) |
---|
249 | 245 | goto error; |
---|
250 | | - if (!PagePrivate(page)) { |
---|
251 | | - set_page_private(page, 1); |
---|
252 | | - SetPagePrivate(page); |
---|
253 | | - } |
---|
| 246 | + if (!PagePrivate(page)) |
---|
| 247 | + attach_page_private(page, (void *)1); |
---|
254 | 248 | dir_page = kmap(page); |
---|
255 | 249 | } |
---|
256 | 250 | |
---|
.. | .. |
---|
270 | 264 | if (b == nr_blocks) { |
---|
271 | 265 | _debug("init %u", b); |
---|
272 | 266 | afs_edit_init_block(meta, block, b); |
---|
273 | | - i_size_write(&vnode->vfs_inode, (b + 1) * AFS_DIR_BLOCK_SIZE); |
---|
| 267 | + afs_set_i_size(vnode, (b + 1) * AFS_DIR_BLOCK_SIZE); |
---|
274 | 268 | } |
---|
275 | 269 | |
---|
276 | 270 | /* Only lower dir pages have a counter in the header. */ |
---|
.. | .. |
---|
303 | 297 | new_directory: |
---|
304 | 298 | afs_edit_init_block(meta, meta, 0); |
---|
305 | 299 | i_size = AFS_DIR_BLOCK_SIZE; |
---|
306 | | - i_size_write(&vnode->vfs_inode, i_size); |
---|
| 300 | + afs_set_i_size(vnode, i_size); |
---|
307 | 301 | slot = AFS_DIR_RESV_BLOCKS0; |
---|
308 | 302 | page = page0; |
---|
309 | 303 | block = meta; |
---|