diff options
Diffstat (limited to 'fs/jfs/namei.c')
-rw-r--r-- | fs/jfs/namei.c | 50 |
1 files changed, 25 insertions, 25 deletions
diff --git a/fs/jfs/namei.c b/fs/jfs/namei.c index 5d4ef6e4b7e9..a6a8c16c872c 100644 --- a/fs/jfs/namei.c +++ b/fs/jfs/namei.c | |||
@@ -4,16 +4,16 @@ | |||
4 | * | 4 | * |
5 | * This program is free software; you can redistribute it and/or modify | 5 | * This program is free software; you can redistribute it and/or modify |
6 | * it under the terms of the GNU General Public License as published by | 6 | * it under the terms of the GNU General Public License as published by |
7 | * the Free Software Foundation; either version 2 of the License, or | 7 | * the Free Software Foundation; either version 2 of the License, or |
8 | * (at your option) any later version. | 8 | * (at your option) any later version. |
9 | * | 9 | * |
10 | * This program is distributed in the hope that it will be useful, | 10 | * This program is distributed in the hope that it will be useful, |
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See | 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See |
13 | * the GNU General Public License for more details. | 13 | * the GNU General Public License for more details. |
14 | * | 14 | * |
15 | * You should have received a copy of the GNU General Public License | 15 | * You should have received a copy of the GNU General Public License |
16 | * along with this program; if not, write to the Free Software | 16 | * along with this program; if not, write to the Free Software |
17 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | 17 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
18 | */ | 18 | */ |
19 | 19 | ||
@@ -41,7 +41,7 @@ static s64 commitZeroLink(tid_t, struct inode *); | |||
41 | /* | 41 | /* |
42 | * NAME: free_ea_wmap(inode) | 42 | * NAME: free_ea_wmap(inode) |
43 | * | 43 | * |
44 | * FUNCTION: free uncommitted extended attributes from working map | 44 | * FUNCTION: free uncommitted extended attributes from working map |
45 | * | 45 | * |
46 | */ | 46 | */ |
47 | static inline void free_ea_wmap(struct inode *inode) | 47 | static inline void free_ea_wmap(struct inode *inode) |
@@ -62,7 +62,7 @@ static inline void free_ea_wmap(struct inode *inode) | |||
62 | * FUNCTION: create a regular file in the parent directory <dip> | 62 | * FUNCTION: create a regular file in the parent directory <dip> |
63 | * with name = <from dentry> and mode = <mode> | 63 | * with name = <from dentry> and mode = <mode> |
64 | * | 64 | * |
65 | * PARAMETER: dip - parent directory vnode | 65 | * PARAMETER: dip - parent directory vnode |
66 | * dentry - dentry of new file | 66 | * dentry - dentry of new file |
67 | * mode - create mode (rwxrwxrwx). | 67 | * mode - create mode (rwxrwxrwx). |
68 | * nd- nd struct | 68 | * nd- nd struct |
@@ -190,7 +190,7 @@ static int jfs_create(struct inode *dip, struct dentry *dentry, int mode, | |||
190 | * FUNCTION: create a child directory in the parent directory <dip> | 190 | * FUNCTION: create a child directory in the parent directory <dip> |
191 | * with name = <from dentry> and mode = <mode> | 191 | * with name = <from dentry> and mode = <mode> |
192 | * | 192 | * |
193 | * PARAMETER: dip - parent directory vnode | 193 | * PARAMETER: dip - parent directory vnode |
194 | * dentry - dentry of child directory | 194 | * dentry - dentry of child directory |
195 | * mode - create mode (rwxrwxrwx). | 195 | * mode - create mode (rwxrwxrwx). |
196 | * | 196 | * |
@@ -324,7 +324,7 @@ static int jfs_mkdir(struct inode *dip, struct dentry *dentry, int mode) | |||
324 | * | 324 | * |
325 | * FUNCTION: remove a link to child directory | 325 | * FUNCTION: remove a link to child directory |
326 | * | 326 | * |
327 | * PARAMETER: dip - parent inode | 327 | * PARAMETER: dip - parent inode |
328 | * dentry - child directory dentry | 328 | * dentry - child directory dentry |
329 | * | 329 | * |
330 | * RETURN: -EINVAL - if name is . or .. | 330 | * RETURN: -EINVAL - if name is . or .. |
@@ -332,10 +332,10 @@ static int jfs_mkdir(struct inode *dip, struct dentry *dentry, int mode) | |||
332 | * errors from subroutines | 332 | * errors from subroutines |
333 | * | 333 | * |
334 | * note: | 334 | * note: |
335 | * if other threads have the directory open when the last link | 335 | * if other threads have the directory open when the last link |
336 | * is removed, the "." and ".." entries, if present, are removed before | 336 | * is removed, the "." and ".." entries, if present, are removed before |
337 | * rmdir() returns and no new entries may be created in the directory, | 337 | * rmdir() returns and no new entries may be created in the directory, |
338 | * but the directory is not removed until the last reference to | 338 | * but the directory is not removed until the last reference to |
339 | * the directory is released (cf.unlink() of regular file). | 339 | * the directory is released (cf.unlink() of regular file). |
340 | */ | 340 | */ |
341 | static int jfs_rmdir(struct inode *dip, struct dentry *dentry) | 341 | static int jfs_rmdir(struct inode *dip, struct dentry *dentry) |
@@ -446,11 +446,11 @@ static int jfs_rmdir(struct inode *dip, struct dentry *dentry) | |||
446 | /* | 446 | /* |
447 | * NAME: jfs_unlink(dip, dentry) | 447 | * NAME: jfs_unlink(dip, dentry) |
448 | * | 448 | * |
449 | * FUNCTION: remove a link to object <vp> named by <name> | 449 | * FUNCTION: remove a link to object <vp> named by <name> |
450 | * from parent directory <dvp> | 450 | * from parent directory <dvp> |
451 | * | 451 | * |
452 | * PARAMETER: dip - inode of parent directory | 452 | * PARAMETER: dip - inode of parent directory |
453 | * dentry - dentry of object to be removed | 453 | * dentry - dentry of object to be removed |
454 | * | 454 | * |
455 | * RETURN: errors from subroutines | 455 | * RETURN: errors from subroutines |
456 | * | 456 | * |
@@ -598,7 +598,7 @@ static int jfs_unlink(struct inode *dip, struct dentry *dentry) | |||
598 | * | 598 | * |
599 | * FUNCTION: for non-directory, called by jfs_remove(), | 599 | * FUNCTION: for non-directory, called by jfs_remove(), |
600 | * truncate a regular file, directory or symbolic | 600 | * truncate a regular file, directory or symbolic |
601 | * link to zero length. return 0 if type is not | 601 | * link to zero length. return 0 if type is not |
602 | * one of these. | 602 | * one of these. |
603 | * | 603 | * |
604 | * if the file is currently associated with a VM segment | 604 | * if the file is currently associated with a VM segment |
@@ -608,7 +608,7 @@ static int jfs_unlink(struct inode *dip, struct dentry *dentry) | |||
608 | * map by ctrunc1. | 608 | * map by ctrunc1. |
609 | * if there is no VM segment on entry, the resources are | 609 | * if there is no VM segment on entry, the resources are |
610 | * freed in both work and permanent map. | 610 | * freed in both work and permanent map. |
611 | * (? for temporary file - memory object is cached even | 611 | * (? for temporary file - memory object is cached even |
612 | * after no reference: | 612 | * after no reference: |
613 | * reference count > 0 - ) | 613 | * reference count > 0 - ) |
614 | * | 614 | * |
@@ -662,7 +662,7 @@ static s64 commitZeroLink(tid_t tid, struct inode *ip) | |||
662 | 662 | ||
663 | /* | 663 | /* |
664 | * free xtree/data (truncate to zero length): | 664 | * free xtree/data (truncate to zero length): |
665 | * free xtree/data pages from cache if COMMIT_PWMAP, | 665 | * free xtree/data pages from cache if COMMIT_PWMAP, |
666 | * free xtree/data blocks from persistent block map, and | 666 | * free xtree/data blocks from persistent block map, and |
667 | * free xtree/data blocks from working block map if COMMIT_PWMAP; | 667 | * free xtree/data blocks from working block map if COMMIT_PWMAP; |
668 | */ | 668 | */ |
@@ -677,7 +677,7 @@ static s64 commitZeroLink(tid_t tid, struct inode *ip) | |||
677 | * NAME: jfs_free_zero_link() | 677 | * NAME: jfs_free_zero_link() |
678 | * | 678 | * |
679 | * FUNCTION: for non-directory, called by iClose(), | 679 | * FUNCTION: for non-directory, called by iClose(), |
680 | * free resources of a file from cache and WORKING map | 680 | * free resources of a file from cache and WORKING map |
681 | * for a file previously committed with zero link count | 681 | * for a file previously committed with zero link count |
682 | * while associated with a pager object, | 682 | * while associated with a pager object, |
683 | * | 683 | * |
@@ -762,7 +762,7 @@ void jfs_free_zero_link(struct inode *ip) | |||
762 | * FUNCTION: create a link to <vp> by the name = <name> | 762 | * FUNCTION: create a link to <vp> by the name = <name> |
763 | * in the parent directory <dvp> | 763 | * in the parent directory <dvp> |
764 | * | 764 | * |
765 | * PARAMETER: vp - target object | 765 | * PARAMETER: vp - target object |
766 | * dvp - parent directory of new link | 766 | * dvp - parent directory of new link |
767 | * name - name of new link to target object | 767 | * name - name of new link to target object |
768 | * crp - credential | 768 | * crp - credential |
@@ -858,8 +858,8 @@ static int jfs_link(struct dentry *old_dentry, | |||
858 | * in directory <dip> | 858 | * in directory <dip> |
859 | * | 859 | * |
860 | * PARAMETER: dip - parent directory vnode | 860 | * PARAMETER: dip - parent directory vnode |
861 | * dentry - dentry of symbolic link | 861 | * dentry - dentry of symbolic link |
862 | * name - the path name of the existing object | 862 | * name - the path name of the existing object |
863 | * that will be the source of the link | 863 | * that will be the source of the link |
864 | * | 864 | * |
865 | * RETURN: errors from subroutines | 865 | * RETURN: errors from subroutines |
@@ -926,7 +926,7 @@ static int jfs_symlink(struct inode *dip, struct dentry *dentry, | |||
926 | tblk->u.ixpxd = JFS_IP(ip)->ixpxd; | 926 | tblk->u.ixpxd = JFS_IP(ip)->ixpxd; |
927 | 927 | ||
928 | /* fix symlink access permission | 928 | /* fix symlink access permission |
929 | * (dir_create() ANDs in the u.u_cmask, | 929 | * (dir_create() ANDs in the u.u_cmask, |
930 | * but symlinks really need to be 777 access) | 930 | * but symlinks really need to be 777 access) |
931 | */ | 931 | */ |
932 | ip->i_mode |= 0777; | 932 | ip->i_mode |= 0777; |
@@ -967,7 +967,7 @@ static int jfs_symlink(struct inode *dip, struct dentry *dentry, | |||
967 | ip->i_mapping->a_ops = &jfs_aops; | 967 | ip->i_mapping->a_ops = &jfs_aops; |
968 | 968 | ||
969 | /* | 969 | /* |
970 | * even though the data of symlink object (source | 970 | * even though the data of symlink object (source |
971 | * path name) is treated as non-journaled user data, | 971 | * path name) is treated as non-journaled user data, |
972 | * it is read/written thru buffer cache for performance. | 972 | * it is read/written thru buffer cache for performance. |
973 | */ | 973 | */ |
@@ -1175,7 +1175,7 @@ static int jfs_rename(struct inode *old_dir, struct dentry *old_dentry, | |||
1175 | /* free block resources */ | 1175 | /* free block resources */ |
1176 | if ((new_size = commitZeroLink(tid, new_ip)) < 0) { | 1176 | if ((new_size = commitZeroLink(tid, new_ip)) < 0) { |
1177 | txAbort(tid, 1); /* Marks FS Dirty */ | 1177 | txAbort(tid, 1); /* Marks FS Dirty */ |
1178 | rc = new_size; | 1178 | rc = new_size; |
1179 | goto out4; | 1179 | goto out4; |
1180 | } | 1180 | } |
1181 | tblk = tid_to_tblock(tid); | 1181 | tblk = tid_to_tblock(tid); |
@@ -1291,7 +1291,7 @@ static int jfs_rename(struct inode *old_dir, struct dentry *old_dentry, | |||
1291 | new_size = xtTruncate_pmap(tid, new_ip, new_size); | 1291 | new_size = xtTruncate_pmap(tid, new_ip, new_size); |
1292 | if (new_size < 0) { | 1292 | if (new_size < 0) { |
1293 | txAbort(tid, 1); | 1293 | txAbort(tid, 1); |
1294 | rc = new_size; | 1294 | rc = new_size; |
1295 | } else | 1295 | } else |
1296 | rc = txCommit(tid, 1, &new_ip, COMMIT_SYNC); | 1296 | rc = txCommit(tid, 1, &new_ip, COMMIT_SYNC); |
1297 | txEnd(tid); | 1297 | txEnd(tid); |