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 --- |