diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-01-08 12:19:57 -0800 | 
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-01-08 12:19:57 -0800 | 
| commit | 972b2c719990f91eb3b2310d44ef8a2d38955a14 (patch) | |
| tree | b25a250ec5bec4b7b6355d214642d8b57c5cab32 /fs/partitions/sgi.c | |
| parent | 02550d61f49266930e674286379d3601006b2893 (diff) | |
| parent | c3aa077648e147783a7a53b409578234647db853 (diff) | |
| download | olio-linux-3.10-972b2c719990f91eb3b2310d44ef8a2d38955a14.tar.xz olio-linux-3.10-972b2c719990f91eb3b2310d44ef8a2d38955a14.zip  | |
Merge branch 'for-linus2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
* 'for-linus2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (165 commits)
  reiserfs: Properly display mount options in /proc/mounts
  vfs: prevent remount read-only if pending removes
  vfs: count unlinked inodes
  vfs: protect remounting superblock read-only
  vfs: keep list of mounts for each superblock
  vfs: switch ->show_options() to struct dentry *
  vfs: switch ->show_path() to struct dentry *
  vfs: switch ->show_devname() to struct dentry *
  vfs: switch ->show_stats to struct dentry *
  switch security_path_chmod() to struct path *
  vfs: prefer ->dentry->d_sb to ->mnt->mnt_sb
  vfs: trim includes a bit
  switch mnt_namespace ->root to struct mount
  vfs: take /proc/*/mounts and friends to fs/proc_namespace.c
  vfs: opencode mntget() mnt_set_mountpoint()
  vfs: spread struct mount - remaining argument of next_mnt()
  vfs: move fsnotify junk to struct mount
  vfs: move mnt_devname
  vfs: move mnt_list to struct mount
  vfs: switch pnode.h macros to struct mount *
  ...
Diffstat (limited to 'fs/partitions/sgi.c')
| -rw-r--r-- | fs/partitions/sgi.c | 82 | 
1 files changed, 0 insertions, 82 deletions
diff --git a/fs/partitions/sgi.c b/fs/partitions/sgi.c deleted file mode 100644 index ea8a86dceaf..00000000000 --- a/fs/partitions/sgi.c +++ /dev/null @@ -1,82 +0,0 @@ -/* - *  fs/partitions/sgi.c - * - *  Code extracted from drivers/block/genhd.c - */ - -#include "check.h" -#include "sgi.h" - -struct sgi_disklabel { -	__be32 magic_mushroom;		/* Big fat spliff... */ -	__be16 root_part_num;		/* Root partition number */ -	__be16 swap_part_num;		/* Swap partition number */ -	s8 boot_file[16];		/* Name of boot file for ARCS */ -	u8 _unused0[48];		/* Device parameter useless crapola.. */ -	struct sgi_volume { -		s8 name[8];		/* Name of volume */ -		__be32 block_num;		/* Logical block number */ -		__be32 num_bytes;		/* How big, in bytes */ -	} volume[15]; -	struct sgi_partition { -		__be32 num_blocks;		/* Size in logical blocks */ -		__be32 first_block;	/* First logical block */ -		__be32 type;		/* Type of this partition */ -	} partitions[16]; -	__be32 csum;			/* Disk label checksum */ -	__be32 _unused1;			/* Padding */ -}; - -int sgi_partition(struct parsed_partitions *state) -{ -	int i, csum; -	__be32 magic; -	int slot = 1; -	unsigned int start, blocks; -	__be32 *ui, cs; -	Sector sect; -	struct sgi_disklabel *label; -	struct sgi_partition *p; -	char b[BDEVNAME_SIZE]; - -	label = read_part_sector(state, 0, §); -	if (!label) -		return -1; -	p = &label->partitions[0]; -	magic = label->magic_mushroom; -	if(be32_to_cpu(magic) != SGI_LABEL_MAGIC) { -		/*printk("Dev %s SGI disklabel: bad magic %08x\n", -		       bdevname(bdev, b), be32_to_cpu(magic));*/ -		put_dev_sector(sect); -		return 0; -	} -	ui = ((__be32 *) (label + 1)) - 1; -	for(csum = 0; ui >= ((__be32 *) label);) { -		cs = *ui--; -		csum += be32_to_cpu(cs); -	} -	if(csum) { -		printk(KERN_WARNING "Dev %s SGI disklabel: csum bad, label corrupted\n", -		       bdevname(state->bdev, b)); -		put_dev_sector(sect); -		return 0; -	} -	/* All SGI disk labels have 16 partitions, disks under Linux only -	 * have 15 minor's.  Luckily there are always a few zero length -	 * partitions which we don't care about so we never overflow the -	 * current_minor. -	 */ -	for(i = 0; i < 16; i++, p++) { -		blocks = be32_to_cpu(p->num_blocks); -		start  = be32_to_cpu(p->first_block); -		if (blocks) { -			put_partition(state, slot, start, blocks); -			if (be32_to_cpu(p->type) == LINUX_RAID_PARTITION) -				state->parts[slot].flags = ADDPART_FLAG_RAID; -		} -		slot++; -	} -	strlcat(state->pp_buf, "\n", PAGE_SIZE); -	put_dev_sector(sect); -	return 1; -}  |