xattr.c (31d1b7710262fba12282b24083f20dc76e0efc93) xattr.c (bae0ee7a767ceeea6d8e170da3f228fbc7480331)
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * fs/f2fs/xattr.c
4 *
5 * Copyright (c) 2012 Samsung Electronics Co., Ltd.
6 * http://www.samsung.com/
7 *
8 * Portions of this code from linux/fs/ext2/xattr.c

--- 401 unchanged lines hidden (view full) ---

410 if (IS_ERR(in_page)) {
411 f2fs_alloc_nid_failed(sbi, new_nid);
412 return PTR_ERR(in_page);
413 }
414 inline_addr = inline_xattr_addr(inode, in_page);
415 }
416
417 f2fs_wait_on_page_writeback(ipage ? ipage : in_page,
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * fs/f2fs/xattr.c
4 *
5 * Copyright (c) 2012 Samsung Electronics Co., Ltd.
6 * http://www.samsung.com/
7 *
8 * Portions of this code from linux/fs/ext2/xattr.c

--- 401 unchanged lines hidden (view full) ---

410 if (IS_ERR(in_page)) {
411 f2fs_alloc_nid_failed(sbi, new_nid);
412 return PTR_ERR(in_page);
413 }
414 inline_addr = inline_xattr_addr(inode, in_page);
415 }
416
417 f2fs_wait_on_page_writeback(ipage ? ipage : in_page,
418 NODE, true);
418 NODE, true, true);
419 /* no need to use xattr node block */
420 if (hsize <= inline_size) {
421 err = f2fs_truncate_xattr_node(inode);
422 f2fs_alloc_nid_failed(sbi, new_nid);
423 if (err) {
424 f2fs_put_page(in_page, 1);
425 return err;
426 }

--- 7 unchanged lines hidden (view full) ---

434 if (F2FS_I(inode)->i_xattr_nid) {
435 xpage = f2fs_get_node_page(sbi, F2FS_I(inode)->i_xattr_nid);
436 if (IS_ERR(xpage)) {
437 err = PTR_ERR(xpage);
438 f2fs_alloc_nid_failed(sbi, new_nid);
439 goto in_page_out;
440 }
441 f2fs_bug_on(sbi, new_nid);
419 /* no need to use xattr node block */
420 if (hsize <= inline_size) {
421 err = f2fs_truncate_xattr_node(inode);
422 f2fs_alloc_nid_failed(sbi, new_nid);
423 if (err) {
424 f2fs_put_page(in_page, 1);
425 return err;
426 }

--- 7 unchanged lines hidden (view full) ---

434 if (F2FS_I(inode)->i_xattr_nid) {
435 xpage = f2fs_get_node_page(sbi, F2FS_I(inode)->i_xattr_nid);
436 if (IS_ERR(xpage)) {
437 err = PTR_ERR(xpage);
438 f2fs_alloc_nid_failed(sbi, new_nid);
439 goto in_page_out;
440 }
441 f2fs_bug_on(sbi, new_nid);
442 f2fs_wait_on_page_writeback(xpage, NODE, true);
442 f2fs_wait_on_page_writeback(xpage, NODE, true, true);
443 } else {
444 struct dnode_of_data dn;
445 set_new_dnode(&dn, inode, NULL, NULL, new_nid);
446 xpage = f2fs_new_node_page(&dn, XATTR_NODE_OFFSET);
447 if (IS_ERR(xpage)) {
448 err = PTR_ERR(xpage);
449 f2fs_alloc_nid_failed(sbi, new_nid);
450 goto in_page_out;

--- 264 unchanged lines hidden ---
443 } else {
444 struct dnode_of_data dn;
445 set_new_dnode(&dn, inode, NULL, NULL, new_nid);
446 xpage = f2fs_new_node_page(&dn, XATTR_NODE_OFFSET);
447 if (IS_ERR(xpage)) {
448 err = PTR_ERR(xpage);
449 f2fs_alloc_nid_failed(sbi, new_nid);
450 goto in_page_out;

--- 264 unchanged lines hidden ---