namei.c (10ce3cc919f50c2043b41ca968b43c26a3672600) | namei.c (8de52778798fe39660a8d6b26f290e0c93202761) |
---|---|
1/* 2 * namei.c - NILFS pathname lookup operations. 3 * 4 * Copyright (C) 2005-2008 Nippon Telegraph and Telephone Corporation. 5 * 6 * This program is free software; you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License as published by 8 * the Free Software Foundation; either version 2 of the License, or --- 179 unchanged lines hidden (view full) --- 188 189static int nilfs_link(struct dentry *old_dentry, struct inode *dir, 190 struct dentry *dentry) 191{ 192 struct inode *inode = old_dentry->d_inode; 193 struct nilfs_transaction_info ti; 194 int err; 195 | 1/* 2 * namei.c - NILFS pathname lookup operations. 3 * 4 * Copyright (C) 2005-2008 Nippon Telegraph and Telephone Corporation. 5 * 6 * This program is free software; you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License as published by 8 * the Free Software Foundation; either version 2 of the License, or --- 179 unchanged lines hidden (view full) --- 188 189static int nilfs_link(struct dentry *old_dentry, struct inode *dir, 190 struct dentry *dentry) 191{ 192 struct inode *inode = old_dentry->d_inode; 193 struct nilfs_transaction_info ti; 194 int err; 195 |
196 if (inode->i_nlink >= NILFS_LINK_MAX) 197 return -EMLINK; 198 | |
199 err = nilfs_transaction_begin(dir->i_sb, &ti, 1); 200 if (err) 201 return err; 202 203 inode->i_ctime = CURRENT_TIME; 204 inode_inc_link_count(inode); 205 ihold(inode); 206 --- 7 unchanged lines hidden (view full) --- 214} 215 216static int nilfs_mkdir(struct inode *dir, struct dentry *dentry, umode_t mode) 217{ 218 struct inode *inode; 219 struct nilfs_transaction_info ti; 220 int err; 221 | 196 err = nilfs_transaction_begin(dir->i_sb, &ti, 1); 197 if (err) 198 return err; 199 200 inode->i_ctime = CURRENT_TIME; 201 inode_inc_link_count(inode); 202 ihold(inode); 203 --- 7 unchanged lines hidden (view full) --- 211} 212 213static int nilfs_mkdir(struct inode *dir, struct dentry *dentry, umode_t mode) 214{ 215 struct inode *inode; 216 struct nilfs_transaction_info ti; 217 int err; 218 |
222 if (dir->i_nlink >= NILFS_LINK_MAX) 223 return -EMLINK; 224 | |
225 err = nilfs_transaction_begin(dir->i_sb, &ti, 1); 226 if (err) 227 return err; 228 229 inc_nlink(dir); 230 231 inode = nilfs_new_inode(dir, S_IFDIR | mode); 232 err = PTR_ERR(inode); --- 162 unchanged lines hidden (view full) --- 395 nilfs_set_link(new_dir, new_de, new_page, old_inode); 396 nilfs_mark_inode_dirty(new_dir); 397 new_inode->i_ctime = CURRENT_TIME; 398 if (dir_de) 399 drop_nlink(new_inode); 400 drop_nlink(new_inode); 401 nilfs_mark_inode_dirty(new_inode); 402 } else { | 219 err = nilfs_transaction_begin(dir->i_sb, &ti, 1); 220 if (err) 221 return err; 222 223 inc_nlink(dir); 224 225 inode = nilfs_new_inode(dir, S_IFDIR | mode); 226 err = PTR_ERR(inode); --- 162 unchanged lines hidden (view full) --- 389 nilfs_set_link(new_dir, new_de, new_page, old_inode); 390 nilfs_mark_inode_dirty(new_dir); 391 new_inode->i_ctime = CURRENT_TIME; 392 if (dir_de) 393 drop_nlink(new_inode); 394 drop_nlink(new_inode); 395 nilfs_mark_inode_dirty(new_inode); 396 } else { |
403 if (dir_de) { 404 err = -EMLINK; 405 if (new_dir->i_nlink >= NILFS_LINK_MAX) 406 goto out_dir; 407 } | |
408 err = nilfs_add_link(new_dentry, old_inode); 409 if (err) 410 goto out_dir; 411 if (dir_de) { 412 inc_nlink(new_dir); 413 nilfs_mark_inode_dirty(new_dir); 414 } 415 } --- 174 unchanged lines hidden --- | 397 err = nilfs_add_link(new_dentry, old_inode); 398 if (err) 399 goto out_dir; 400 if (dir_de) { 401 inc_nlink(new_dir); 402 nilfs_mark_inode_dirty(new_dir); 403 } 404 } --- 174 unchanged lines hidden --- |