@@ -61,35 +61,31 @@ void f2fs_set_inode_flags(struct inode *inode)
6161 S_ENCRYPTED |S_VERITY |S_CASEFOLD );
6262}
6363
64- static void __get_inode_rdev (struct inode * inode , struct f2fs_inode * ri )
64+ static void __get_inode_rdev (struct inode * inode , struct page * node_page )
6565{
66- int extra_size = get_extra_isize (inode );
66+ __le32 * addr = get_dnode_addr (inode , node_page );
6767
6868 if (S_ISCHR (inode -> i_mode ) || S_ISBLK (inode -> i_mode ) ||
6969 S_ISFIFO (inode -> i_mode ) || S_ISSOCK (inode -> i_mode )) {
70- if (ri -> i_addr [extra_size ])
71- inode -> i_rdev = old_decode_dev (
72- le32_to_cpu (ri -> i_addr [extra_size ]));
70+ if (addr [0 ])
71+ inode -> i_rdev = old_decode_dev (le32_to_cpu (addr [0 ]));
7372 else
74- inode -> i_rdev = new_decode_dev (
75- le32_to_cpu (ri -> i_addr [extra_size + 1 ]));
73+ inode -> i_rdev = new_decode_dev (le32_to_cpu (addr [1 ]));
7674 }
7775}
7876
79- static void __set_inode_rdev (struct inode * inode , struct f2fs_inode * ri )
77+ static void __set_inode_rdev (struct inode * inode , struct page * node_page )
8078{
81- int extra_size = get_extra_isize (inode );
79+ __le32 * addr = get_dnode_addr (inode , node_page );
8280
8381 if (S_ISCHR (inode -> i_mode ) || S_ISBLK (inode -> i_mode )) {
8482 if (old_valid_dev (inode -> i_rdev )) {
85- ri -> i_addr [extra_size ] =
86- cpu_to_le32 (old_encode_dev (inode -> i_rdev ));
87- ri -> i_addr [extra_size + 1 ] = 0 ;
83+ addr [0 ] = cpu_to_le32 (old_encode_dev (inode -> i_rdev ));
84+ addr [1 ] = 0 ;
8885 } else {
89- ri -> i_addr [extra_size ] = 0 ;
90- ri -> i_addr [extra_size + 1 ] =
91- cpu_to_le32 (new_encode_dev (inode -> i_rdev ));
92- ri -> i_addr [extra_size + 2 ] = 0 ;
86+ addr [0 ] = 0 ;
87+ addr [1 ] = cpu_to_le32 (new_encode_dev (inode -> i_rdev ));
88+ addr [2 ] = 0 ;
9389 }
9490 }
9591}
@@ -463,7 +459,7 @@ static int do_read_inode(struct inode *inode)
463459 }
464460
465461 /* get rdev by using inline_info */
466- __get_inode_rdev (inode , ri );
462+ __get_inode_rdev (inode , node_page );
467463
468464 if (!f2fs_need_inode_block_update (sbi , inode -> i_ino ))
469465 fi -> last_disk_size = inode -> i_size ;
@@ -736,7 +732,7 @@ void f2fs_update_inode(struct inode *inode, struct page *node_page)
736732 }
737733 }
738734
739- __set_inode_rdev (inode , ri );
735+ __set_inode_rdev (inode , node_page );
740736
741737 /* deleted inode */
742738 if (inode -> i_nlink == 0 )
0 commit comments