It may be the disk is in use by the disk maintenance center. http://now.netapp.com/NOW/knowledge/docs/ontap/rel7261/html/ontap/smg/provisioning/concept/c_oc_prov_disk-health.html#c_oc_prov_disk-health
More likley however that the raid group is full or the spare disk is 'different' to the disks in the aggregate you wish to grow.
Note however, a common issue to kill filer performance, is to fill an aggregate and then add a single HDD to the aggregate. All I/O writes must go to this single disk until it is at the same level as the other disks in the aggregate. The problem will presist as all the new data blocks have been written to a single disk, so they must be read from a single disk.
If your aggregate has snap reserve set at 5% (default) and multiple volumes. Remove the reserve as you are very unlikley to need it and it is wasted space.
If you still want to add the disk use CLI as filerview can fail for unknow reasons while CLI will work..
Add the disks by entering the following command:
aggr add aggr_name [-f] [-n] {ndisks[@disk-size] | [-d
disk1 [disk2 ...] [disk1 [disk2 ...] ] }
aggr_name is the name of the aggregate to which you are adding the disks.
-f overrides the default behavior that does not permit disks in a plex to span disk pools (only applicable if SyncMirror is licensed). This option also allows you to mix disks with different speeds.
-n displays the results of the command but does not execute it. This is useful for displaying the disks that would be automatically selected prior to executing the command.
ndisks is the number of disks to use.
disk-size is the disk size, in gigabytes, to use. You must have at least ndisks available disks of the size you specify.
-d specifies that the disk-name will follow. If the aggregate is mirrored, then the -d argument must be used twice (if you are specifying disk-names).
disk-name is the disk number of a spare disk; use a space to separate disk numbers. The disk number is under the Device column in the aggr status -s display.
Hope it helps.
Good luck
Bren