aboutsummaryrefslogtreecommitdiffstats
path: root/fs/locks.c
diff options
context:
space:
mode:
authorJosef "Jeff" Sipek <jsipek@cs.sunysb.edu>2006-12-08 05:36:35 -0500
committerLinus Torvalds <torvalds@woody.osdl.org>2006-12-08 11:28:41 -0500
commit0f7fc9e4d03987fe29f6dd4aa67e4c56eb7ecb05 (patch)
tree51763269e44eb9bf4d0f8c529577489902850cf9 /fs/locks.c
parentb65d34fd465f19fbe2f32f2205a9a06ca7c2bdeb (diff)
[PATCH] VFS: change struct file to use struct path
This patch changes struct file to use struct path instead of having independent pointers to struct dentry and struct vfsmount, and converts all users of f_{dentry,vfsmnt} in fs/ to use f_path.{dentry,mnt}. Additionally, it adds two #define's to make the transition easier for users of the f_dentry and f_vfsmnt. Signed-off-by: Josef "Jeff" Sipek <jsipek@cs.sunysb.edu> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'fs/locks.c')
-rw-r--r--fs/locks.c32
1 files changed, 16 insertions, 16 deletions
diff --git a/fs/locks.c b/fs/locks.c
index 1cb0c57fedbd..52a81005dab4 100644
--- a/fs/locks.c
+++ b/fs/locks.c
@@ -321,7 +321,7 @@ static int flock_to_posix_lock(struct file *filp, struct file_lock *fl,
321 start = filp->f_pos; 321 start = filp->f_pos;
322 break; 322 break;
323 case SEEK_END: 323 case SEEK_END:
324 start = i_size_read(filp->f_dentry->d_inode); 324 start = i_size_read(filp->f_path.dentry->d_inode);
325 break; 325 break;
326 default: 326 default:
327 return -EINVAL; 327 return -EINVAL;
@@ -371,7 +371,7 @@ static int flock64_to_posix_lock(struct file *filp, struct file_lock *fl,
371 start = filp->f_pos; 371 start = filp->f_pos;
372 break; 372 break;
373 case SEEK_END: 373 case SEEK_END:
374 start = i_size_read(filp->f_dentry->d_inode); 374 start = i_size_read(filp->f_path.dentry->d_inode);
375 break; 375 break;
376 default: 376 default:
377 return -EINVAL; 377 return -EINVAL;
@@ -672,7 +672,7 @@ posix_test_lock(struct file *filp, struct file_lock *fl,
672 struct file_lock *cfl; 672 struct file_lock *cfl;
673 673
674 lock_kernel(); 674 lock_kernel();
675 for (cfl = filp->f_dentry->d_inode->i_flock; cfl; cfl = cfl->fl_next) { 675 for (cfl = filp->f_path.dentry->d_inode->i_flock; cfl; cfl = cfl->fl_next) {
676 if (!IS_POSIX(cfl)) 676 if (!IS_POSIX(cfl))
677 continue; 677 continue;
678 if (posix_locks_conflict(cfl, fl)) 678 if (posix_locks_conflict(cfl, fl))
@@ -734,7 +734,7 @@ static int flock_lock_file(struct file *filp, struct file_lock *request)
734{ 734{
735 struct file_lock *new_fl = NULL; 735 struct file_lock *new_fl = NULL;
736 struct file_lock **before; 736 struct file_lock **before;
737 struct inode * inode = filp->f_dentry->d_inode; 737 struct inode * inode = filp->f_path.dentry->d_inode;
738 int error = 0; 738 int error = 0;
739 int found = 0; 739 int found = 0;
740 740
@@ -1018,7 +1018,7 @@ static int __posix_lock_file_conf(struct inode *inode, struct file_lock *request
1018 */ 1018 */
1019int posix_lock_file(struct file *filp, struct file_lock *fl) 1019int posix_lock_file(struct file *filp, struct file_lock *fl)
1020{ 1020{
1021 return __posix_lock_file_conf(filp->f_dentry->d_inode, fl, NULL); 1021 return __posix_lock_file_conf(filp->f_path.dentry->d_inode, fl, NULL);
1022} 1022}
1023EXPORT_SYMBOL(posix_lock_file); 1023EXPORT_SYMBOL(posix_lock_file);
1024 1024
@@ -1033,7 +1033,7 @@ EXPORT_SYMBOL(posix_lock_file);
1033int posix_lock_file_conf(struct file *filp, struct file_lock *fl, 1033int posix_lock_file_conf(struct file *filp, struct file_lock *fl,
1034 struct file_lock *conflock) 1034 struct file_lock *conflock)
1035{ 1035{
1036 return __posix_lock_file_conf(filp->f_dentry->d_inode, fl, conflock); 1036 return __posix_lock_file_conf(filp->f_path.dentry->d_inode, fl, conflock);
1037} 1037}
1038EXPORT_SYMBOL(posix_lock_file_conf); 1038EXPORT_SYMBOL(posix_lock_file_conf);
1039 1039
@@ -1333,8 +1333,8 @@ int fcntl_getlease(struct file *filp)
1333 int type = F_UNLCK; 1333 int type = F_UNLCK;
1334 1334
1335 lock_kernel(); 1335 lock_kernel();
1336 time_out_leases(filp->f_dentry->d_inode); 1336 time_out_leases(filp->f_path.dentry->d_inode);
1337 for (fl = filp->f_dentry->d_inode->i_flock; fl && IS_LEASE(fl); 1337 for (fl = filp->f_path.dentry->d_inode->i_flock; fl && IS_LEASE(fl);
1338 fl = fl->fl_next) { 1338 fl = fl->fl_next) {
1339 if (fl->fl_file == filp) { 1339 if (fl->fl_file == filp) {
1340 type = fl->fl_type & ~F_INPROGRESS; 1340 type = fl->fl_type & ~F_INPROGRESS;
@@ -1359,7 +1359,7 @@ int fcntl_getlease(struct file *filp)
1359static int __setlease(struct file *filp, long arg, struct file_lock **flp) 1359static int __setlease(struct file *filp, long arg, struct file_lock **flp)
1360{ 1360{
1361 struct file_lock *fl, **before, **my_before = NULL, *lease; 1361 struct file_lock *fl, **before, **my_before = NULL, *lease;
1362 struct dentry *dentry = filp->f_dentry; 1362 struct dentry *dentry = filp->f_path.dentry;
1363 struct inode *inode = dentry->d_inode; 1363 struct inode *inode = dentry->d_inode;
1364 int error, rdlease_count = 0, wrlease_count = 0; 1364 int error, rdlease_count = 0, wrlease_count = 0;
1365 1365
@@ -1448,7 +1448,7 @@ out:
1448 1448
1449int setlease(struct file *filp, long arg, struct file_lock **lease) 1449int setlease(struct file *filp, long arg, struct file_lock **lease)
1450{ 1450{
1451 struct dentry *dentry = filp->f_dentry; 1451 struct dentry *dentry = filp->f_path.dentry;
1452 struct inode *inode = dentry->d_inode; 1452 struct inode *inode = dentry->d_inode;
1453 int error; 1453 int error;
1454 1454
@@ -1482,7 +1482,7 @@ EXPORT_SYMBOL(setlease);
1482int fcntl_setlease(unsigned int fd, struct file *filp, long arg) 1482int fcntl_setlease(unsigned int fd, struct file *filp, long arg)
1483{ 1483{
1484 struct file_lock fl, *flp = &fl; 1484 struct file_lock fl, *flp = &fl;
1485 struct dentry *dentry = filp->f_dentry; 1485 struct dentry *dentry = filp->f_path.dentry;
1486 struct inode *inode = dentry->d_inode; 1486 struct inode *inode = dentry->d_inode;
1487 int error; 1487 int error;
1488 1488
@@ -1692,7 +1692,7 @@ int fcntl_setlk(unsigned int fd, struct file *filp, unsigned int cmd,
1692 if (copy_from_user(&flock, l, sizeof(flock))) 1692 if (copy_from_user(&flock, l, sizeof(flock)))
1693 goto out; 1693 goto out;
1694 1694
1695 inode = filp->f_dentry->d_inode; 1695 inode = filp->f_path.dentry->d_inode;
1696 1696
1697 /* Don't allow mandatory locks on files that may be memory mapped 1697 /* Don't allow mandatory locks on files that may be memory mapped
1698 * and shared. 1698 * and shared.
@@ -1835,7 +1835,7 @@ int fcntl_setlk64(unsigned int fd, struct file *filp, unsigned int cmd,
1835 if (copy_from_user(&flock, l, sizeof(flock))) 1835 if (copy_from_user(&flock, l, sizeof(flock)))
1836 goto out; 1836 goto out;
1837 1837
1838 inode = filp->f_dentry->d_inode; 1838 inode = filp->f_path.dentry->d_inode;
1839 1839
1840 /* Don't allow mandatory locks on files that may be memory mapped 1840 /* Don't allow mandatory locks on files that may be memory mapped
1841 * and shared. 1841 * and shared.
@@ -1922,7 +1922,7 @@ void locks_remove_posix(struct file *filp, fl_owner_t owner)
1922 * posix_lock_file(). Another process could be setting a lock on this 1922 * posix_lock_file(). Another process could be setting a lock on this
1923 * file at the same time, but we wouldn't remove that lock anyway. 1923 * file at the same time, but we wouldn't remove that lock anyway.
1924 */ 1924 */
1925 if (!filp->f_dentry->d_inode->i_flock) 1925 if (!filp->f_path.dentry->d_inode->i_flock)
1926 return; 1926 return;
1927 1927
1928 lock.fl_type = F_UNLCK; 1928 lock.fl_type = F_UNLCK;
@@ -1951,7 +1951,7 @@ EXPORT_SYMBOL(locks_remove_posix);
1951 */ 1951 */
1952void locks_remove_flock(struct file *filp) 1952void locks_remove_flock(struct file *filp)
1953{ 1953{
1954 struct inode * inode = filp->f_dentry->d_inode; 1954 struct inode * inode = filp->f_path.dentry->d_inode;
1955 struct file_lock *fl; 1955 struct file_lock *fl;
1956 struct file_lock **before; 1956 struct file_lock **before;
1957 1957
@@ -2020,7 +2020,7 @@ static void lock_get_status(char* out, struct file_lock *fl, int id, char *pfx)
2020 struct inode *inode = NULL; 2020 struct inode *inode = NULL;
2021 2021
2022 if (fl->fl_file != NULL) 2022 if (fl->fl_file != NULL)
2023 inode = fl->fl_file->f_dentry->d_inode; 2023 inode = fl->fl_file->f_path.dentry->d_inode;
2024 2024
2025 out += sprintf(out, "%d:%s ", id, pfx); 2025 out += sprintf(out, "%d:%s ", id, pfx);
2026 if (IS_POSIX(fl)) { 2026 if (IS_POSIX(fl)) {