Use ecryptfs_dentry_to_lower_path in a couple of places
PATCH 1/1 Use ecryptfs_dentry_to_lower_path in a couple of places
There are two places in ecryptfs that benefit from using ecryptfs_dentry_to_lower_path() instead of separate calls to ecryptfs_dentry_to_lower() and ecryptfs_dentry_to_lower_mnt(). Both sites use fewer instructions and less stack (determined by examining objdump output).
Signed-off-by Matthew Wilcox <[email protected]>
fs/ecryptfs/file.c +3 -4
@@ -49,7 +49,7 @@ static ssize_t ecryptfs_read_update_atime(struct kiocb *iocb, unsigned long nr_segs, loff_t pos) { ssize_t rc; -struct path lower; +struct path *path;struct file *file = iocb->ki_filp; rc =generic_file_aio_read (iocb, iov, nr_segs, pos);
@@ -60,9 +60,8 @@ static ssize_t ecryptfs_read_update_atime(struct kiocb *iocb,if (-EIOCBQUEUED == rc) rc =wait_on_sync_kiocb (iocb);if (rc >=0 ) { - lower.dentry =ecryptfs_dentry_to_lower (file->f_path.dentry); - lower.mnt =ecryptfs_dentry_to_lower_mnt (file->f_path.dentry); -touch_atime (&lower); + path =ecryptfs_dentry_to_lower_path (file->f_path.dentry); +touch_atime (path); }return rc; }
fs/ecryptfs/main.c +3 -4
@@ -120,16 +120,15 @@ static int ecryptfs_init_lower_file(struct dentry *dentry, struct file **lower_file) {const struct cred *cred =current_cred (); -struct dentry *lower_dentry =ecryptfs_dentry_to_lower (dentry); -struct vfsmount *lower_mnt =ecryptfs_dentry_to_lower_mnt (dentry); +struct path *path =ecryptfs_dentry_to_lower_path (dentry);int rc; - rc =ecryptfs_privileged_open (lower_file, lower_dentry, lower_mnt, + rc =ecryptfs_privileged_open (lower_file, path->dentry, path->mnt, cred);if (rc) {printk (KERN_ERR "Error opening lower file " "for lower_dentry [0x%p] and lower_mnt [0x%p]; " -"rc = [%d]\n" , lower_dentry, lower_mnt, rc); +"rc = [%d]\n" , path->dentry, path->mnt, rc); (*lower_file) =NULL ; }return rc;