summaryrefslogtreecommitdiff
path: root/ANDROID_3.4.5/fs/affs/symlink.c
diff options
context:
space:
mode:
authorSrikant Patnaik2015-01-11 12:28:04 +0530
committerSrikant Patnaik2015-01-11 12:28:04 +0530
commit871480933a1c28f8a9fed4c4d34d06c439a7a422 (patch)
tree8718f573808810c2a1e8cb8fb6ac469093ca2784 /ANDROID_3.4.5/fs/affs/symlink.c
parent9d40ac5867b9aefe0722bc1f110b965ff294d30d (diff)
downloadFOSSEE-netbook-kernel-source-871480933a1c28f8a9fed4c4d34d06c439a7a422.tar.gz
FOSSEE-netbook-kernel-source-871480933a1c28f8a9fed4c4d34d06c439a7a422.tar.bz2
FOSSEE-netbook-kernel-source-871480933a1c28f8a9fed4c4d34d06c439a7a422.zip
Moved, renamed, and deleted files
The original directory structure was scattered and unorganized. Changes are basically to make it look like kernel structure.
Diffstat (limited to 'ANDROID_3.4.5/fs/affs/symlink.c')
-rw-r--r--ANDROID_3.4.5/fs/affs/symlink.c81
1 files changed, 0 insertions, 81 deletions
diff --git a/ANDROID_3.4.5/fs/affs/symlink.c b/ANDROID_3.4.5/fs/affs/symlink.c
deleted file mode 100644
index ee00f08c..00000000
--- a/ANDROID_3.4.5/fs/affs/symlink.c
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * linux/fs/affs/symlink.c
- *
- * 1995 Hans-Joachim Widmaier - Modified for affs.
- *
- * Copyright (C) 1991, 1992 Linus Torvalds
- *
- * affs symlink handling code
- */
-
-#include "affs.h"
-
-static int affs_symlink_readpage(struct file *file, struct page *page)
-{
- struct buffer_head *bh;
- struct inode *inode = page->mapping->host;
- char *link = kmap(page);
- struct slink_front *lf;
- int err;
- int i, j;
- char c;
- char lc;
-
- pr_debug("AFFS: follow_link(ino=%lu)\n",inode->i_ino);
-
- err = -EIO;
- bh = affs_bread(inode->i_sb, inode->i_ino);
- if (!bh)
- goto fail;
- i = 0;
- j = 0;
- lf = (struct slink_front *)bh->b_data;
- lc = 0;
-
- if (strchr(lf->symname,':')) { /* Handle assign or volume name */
- struct affs_sb_info *sbi = AFFS_SB(inode->i_sb);
- char *pf;
- spin_lock(&sbi->symlink_lock);
- pf = sbi->s_prefix ? sbi->s_prefix : "/";
- while (i < 1023 && (c = pf[i]))
- link[i++] = c;
- spin_unlock(&sbi->symlink_lock);
- while (i < 1023 && lf->symname[j] != ':')
- link[i++] = lf->symname[j++];
- if (i < 1023)
- link[i++] = '/';
- j++;
- lc = '/';
- }
- while (i < 1023 && (c = lf->symname[j])) {
- if (c == '/' && lc == '/' && i < 1020) { /* parent dir */
- link[i++] = '.';
- link[i++] = '.';
- }
- link[i++] = c;
- lc = c;
- j++;
- }
- link[i] = '\0';
- affs_brelse(bh);
- SetPageUptodate(page);
- kunmap(page);
- unlock_page(page);
- return 0;
-fail:
- SetPageError(page);
- kunmap(page);
- unlock_page(page);
- return err;
-}
-
-const struct address_space_operations affs_symlink_aops = {
- .readpage = affs_symlink_readpage,
-};
-
-const struct inode_operations affs_symlink_inode_operations = {
- .readlink = generic_readlink,
- .follow_link = page_follow_link_light,
- .put_link = page_put_link,
- .setattr = affs_notify_change,
-};