SSD Installation Considerations

Here you can post about non-standard installation methods
(for example when using grub4dos).
User avatar
Ahau
King of Docs
King of Docs
Posts: 1331
Joined: 28 Dec 2010, 15:18
Distribution: LXDE & Xfce 32/64-bit
Location: USA

Re: SSD Installation Considerations

Post#16 by Ahau » 05 Aug 2011, 15:27

Nope -- it is unlikely that it could be your fault, as you don't have permissions to edit my posts. This must be my foul-up or the fault of the recent phpBB update that has been applied to the forum. My post exists properly when viewed from the moderator control panel. Brokenman, any help here? I'm not overly concerned about this one post, I just want to make sure we don't have a bigger issue going on...

Posted after 16 hours 26 minutes 22 seconds:
Ok, I'm back :) Sorry if I keep derailing this thread.

RE: Partitioning, thanks for the advice on leaving the first eraseblock or two open, and the suggestion that users examine the factory formatting. It was too late for me, because I had already formatted my drives with kde partition manager.

RE 4MB alignment: My tests were actually conducted on the second partition (I had FAT in the front holding Porteus and my data so that I could transfer it to windows, and cycled through FS's on the back partition. That partition started on LBA 3637248 or 4096000 (1776 or 2000 megabytes, both multiples of 8MB). The data collected from flashbench gave a pretty clear indication that my Kingston drive is aligned on 4MB eraseblocks rather than 3, or some other number. Incidentally, 1776 MB is also divisible by 3 -- however, I don't recall which tests were done at 1776 and which were at 2000 MB back lol. When I tested the alignment as off by 1MB, I would have been at 1777 and 2001 (2001 is a multiple of 3), so I inadvertently sampled for 3MB eraseblocks :D

RE XFS: it was faster without barriers than with, particularly with small files. However, it was still not as fast as EXT4, BTRFS, or NILFS (for small files). The use of delaylog seemed to make a bigger improvement than nobarriers. That said, my test with nobarrier also used the delaylog, so maybe I should try it again without the delaylog option. I did not try it with an external log -- I tried and failed to set one up on a loop device in Porteus, and I have questions about how this would affect the integrity and recoverability of a filesystem when storing your log to volatile memory (or, am I completely missing what occurs here?)

I tried compiling the NILFS module from source this morning and failed -- I had crippled sources installed, and perhaps it needs the full sources...

Code: Select all

bash-4.1# cd /root/Desktop/nilfs2-module
bash-4.1# ls
COPYING  ChangeLog  Makefile  README  fs/  nilfs2.txt
bash-4.1# make
make -C fs 
make[1]: Entering directory `/root/Desktop/nilfs2-module/fs'
make -C /lib/modules/2.6.38.8-porteus/build SUBDIRS=/root/Desktop/nilfs2-module/fs BUILD_DIR=/root/Desktop/nilfs2-module/fs modules
make[2]: Entering directory `/usr/src/linux-2.6.38.8'
  CC [M]  /root/Desktop/nilfs2-module/fs/inode.o
In file included from /root/Desktop/nilfs2-module/fs/inode.c:28:0:
/root/Desktop/nilfs2-module/fs/nilfs.h: In function 'nilfs_init_acl':
/root/Desktop/nilfs2-module/fs/nilfs.h:234:31: error: dereferencing pointer to incomplete type
/root/Desktop/nilfs2-module/fs/inode.c: In function 'nilfs_write_begin':
/root/Desktop/nilfs2-module/fs/inode.c:212:5: warning: passing argument 1 of 'block_write_begin' from incompatible pointer type
include/linux/buffer_head.h:204:5: note: expected 'struct address_space *' but argument is of type 'struct file *'
/root/Desktop/nilfs2-module/fs/inode.c:212:5: warning: passing argument 2 of 'block_write_begin' makes integer from pointer without a cast
include/linux/buffer_head.h:204:5: note: expected 'loff_t' but argument is of type 'struct address_space *'
/root/Desktop/nilfs2-module/fs/inode.c:212:5: warning: passing argument 5 of 'block_write_begin' makes pointer from integer without a cast
include/linux/buffer_head.h:204:5: note: expected 'struct page **' but argument is of type 'unsigned int'
/root/Desktop/nilfs2-module/fs/inode.c:212:5: warning: passing argument 6 of 'block_write_begin' from incompatible pointer type
include/linux/buffer_head.h:204:5: note: expected 'int (*)(struct inode *, sector_t,  struct buffer_head *, int)' but argument is of type 'struct page **'
/root/Desktop/nilfs2-module/fs/inode.c:212:5: error: too many arguments to function 'block_write_begin'
include/linux/buffer_head.h:204:5: note: declared here
/root/Desktop/nilfs2-module/fs/inode.c: In function 'nilfs_delete_inode':
/root/Desktop/nilfs2-module/fs/inode.c:721:3: error: implicit declaration of function 'clear_inode'
/root/Desktop/nilfs2-module/fs/inode.c: In function 'nilfs_setattr':
/root/Desktop/nilfs2-module/fs/inode.c:759:2: error: implicit declaration of function 'inode_setattr'
make[3]: *** [/root/Desktop/nilfs2-module/fs/inode.o] Error 1
make[2]: *** [_module_/root/Desktop/nilfs2-module/fs] Error 2
make[2]: Leaving directory `/usr/src/linux-2.6.38.8'
make[1]: *** [default] Error 2
make[1]: Leaving directory `/root/Desktop/nilfs2-module/fs'
make: *** [fs] Error 2
Please take a look at our online documentation, here. Suggestions are welcome!

Post Reply