[Lustre-discuss] LBUG with 1.6.5~rc2 and lfs quotacheck
Hey I've some troubles with quota on 1.6.5. (Yes I know this rc software :)). Since I don't find any bugreport about this issue (and this is not yet released) I'm unsure what do do. Here the problem description: After reformatting the fs and mounting it. I've tried to execute this command: debian:/mnt# lfs quotacheck -ug /mnt/lustre_client/ Right after hitting enter I got this: Message from [EMAIL PROTECTED] at Tue May 13 13:05:08 2008 ... debian kernel: LustreError: 2921:0: (fsfilt-ldiskfs.c:2066:fsfilt_ldiskfs_quotainfo()) LBUG Furthermore a tmp. file was created. I've attached it to this mail. Anybody know what's going wrong here? Greetings Winnie -- Patrick Winnertz Tel.: +49 (0) 2161 / 4643 - 0 credativ GmbH, HRB Mönchengladbach 12080 Hohenzollernstr. 133, 41061 Mönchengladbach Geschäftsführung: Dr. Michael Meskes, Jörg Folz lustre-log.1210676708.2921 Description: Binary data ___ Lustre-discuss mailing list Lustre-discuss@lists.lustre.org http://lists.lustre.org/mailman/listinfo/lustre-discuss
Re: [Lustre-discuss] LBUG with 1.6.5~rc2 and lfs quotacheck
Hello Patrick, have you got the kernel dump (dmesg output) from client node by chance? Thanks Andrew. On Tuesday 13 May 2008 13:18:06 Patrick Winnertz wrote: Hey I've some troubles with quota on 1.6.5. (Yes I know this rc software :)). Since I don't find any bugreport about this issue (and this is not yet released) I'm unsure what do do. Here the problem description: After reformatting the fs and mounting it. I've tried to execute this command: debian:/mnt# lfs quotacheck -ug /mnt/lustre_client/ Right after hitting enter I got this: Message from [EMAIL PROTECTED] at Tue May 13 13:05:08 2008 ... debian kernel: LustreError: 2921:0: (fsfilt-ldiskfs.c:2066:fsfilt_ldiskfs_quotainfo()) LBUG Furthermore a tmp. file was created. I've attached it to this mail. Anybody know what's going wrong here? Greetings Winnie ___ Lustre-discuss mailing list Lustre-discuss@lists.lustre.org http://lists.lustre.org/mailman/listinfo/lustre-discuss
Re: [Lustre-discuss] LBUG with 1.6.5~rc2 and lfs quotacheck
Patrick, it seems that you are running different versions of mds/lquota modules on one node and ost/fsfilt_ldiskfs modules on another. Is this true? Andrew. On Tuesday 13 May 2008 13:18:06 Patrick Winnertz wrote: Hey I've some troubles with quota on 1.6.5. (Yes I know this rc software :)). Since I don't find any bugreport about this issue (and this is not yet released) I'm unsure what do do. Here the problem description: After reformatting the fs and mounting it. I've tried to execute this command: debian:/mnt# lfs quotacheck -ug /mnt/lustre_client/ Right after hitting enter I got this: Message from [EMAIL PROTECTED] at Tue May 13 13:05:08 2008 ... debian kernel: LustreError: 2921:0: (fsfilt-ldiskfs.c:2066:fsfilt_ldiskfs_quotainfo()) LBUG Furthermore a tmp. file was created. I've attached it to this mail. Anybody know what's going wrong here? Greetings Winnie ___ Lustre-discuss mailing list Lustre-discuss@lists.lustre.org http://lists.lustre.org/mailman/listinfo/lustre-discuss
Re: [Lustre-discuss] LBUG with 1.6.5~rc2 and lfs quotacheck
Patrick, could you try a rebuild of the source, please? According to the binaries (to assembly) you use, it seems, lquota and fsfilt_ldiskfs modules do not match each other, but generally they have to. Thank you very much! Andrew. On Tuesday 13 May 2008 15:53:05 Patrick Winnertz wrote: On Tuesday 13 May 2008 13:09:56 you wrote: Patrick, it seems that you are running different versions of mds/lquota modules on one node and ost/fsfilt_ldiskfs modules on another. Is this true? Mh.. I don't think so. I've attached a modinfo of the modules to the bugreport. (mgs and ost have exactly the same packages installed). Greetings Winnie ___ Lustre-discuss mailing list Lustre-discuss@lists.lustre.org http://lists.lustre.org/mailman/listinfo/lustre-discuss
[Lustre-discuss] supporting fcntl, byte-range file locking
What versions of Lustre support fcntl for byte-range file locking? Attached is a test program extracted from ROMIO to test fcntl() for locking. It ran fine on some Lustre versions. Wei-keng#include stdio.h #include stdlib.h #include unistd.h #include fcntl.h #include errno.h #include mpi.h static int rank; void ADIOI_Set_lock(int fd, int cmd, int type, long long offset, int whence, long long len) { int err; struct flock lock; char *cmd_str, *type_str; if (len == 0) return; lock.l_type = type; lock.l_whence = whence; lock.l_start = offset; lock.l_len= len; cmd_str = (cmd == F_GETLK )? F_GETLK : ((cmd == F_SETLK )? F_SETLK : ((cmd == F_SETLKW)? F_SETLKW : UNEXPECTED)); type_str = (type == F_RDLCK)? F_RDLCK : ((type == F_WRLCK)? F_WRLCK : ((type == F_UNLCK)? F_UNLOCK : UNEXPECTED)); errno = 0; do { err = fcntl(fd, cmd, lock); } while (err (errno == EINTR)); if (err (errno != EBADF)) printf(%d: File locking failed in (fd %X,cmd %s/%X,type %s/%X,whence %X) with return value %X and errno %X.\n, rank, fd, cmd_str, cmd, type_str, type, whence, err, errno); else printf(%d: File locking succeed in (fd %X,cmd %s/%X,type %s/%X,whence %X)\n, rank, fd, cmd_str, cmd, type_str, type, whence); return; } int main(int argc, char **argv) { int fd, buf[100]; MPI_Init(argc, argv); MPI_Comm_rank(MPI_COMM_WORLD, rank); if (argc != 2) { printf(Usage: %s filename\n, argv[0]); return 1; } if ((fd = open(argv[1], O_CREAT|O_RDWR, 0600)) == -1) { printf(Error: opening file %s\n, argv[1]); return 1; } MPI_Barrier(MPI_COMM_WORLD); ADIOI_Set_lock(fd, F_SETLKW, F_WRLCK, 0, SEEK_SET, 10); write(fd, buf, 100); ADIOI_Set_lock(fd, F_SETLK, F_UNLCK, 0, SEEK_SET, 10); close(fd); MPI_Finalize(); return 0; } ___ Lustre-discuss mailing list Lustre-discuss@lists.lustre.org http://lists.lustre.org/mailman/listinfo/lustre-discuss
[Lustre-discuss] Size of MDT, used space
Hi all, I'm still in trouble with numbers: the available, used and necessary space on my MDT: According to lfs df, I have now filled my file system with 115.3 TB. All of these files are sized 5 MB. That should be roughly 24 million files. For the MDT, lfs df reports 28.2 GB used. Now I believed that creating a file on Lustre means using one inode on the MDT. Since all of my Lustre partitions were formatted with the default options (all of this is running Lustre v. 1.6.4.3, btw), an inode should eat up 4kB on the MDT partition. Of course, 24 million files times 4 kB gives you 91 GB rather than 28GB. Obviously, there is something I missed completely. Perhaps somebody could illuminate me here? This issue could also be phrased as How large should my MDT be to accommodate n TB storage space? The manual's answer boils down to = number of files * 4 kB (*2 per recommendation). That's how I calculated above - maybe my test system is broken? I can't check on the content of these files, it's just 5MB test files created with the 'stress' utility. Thanks and regards, Thomas ___ Lustre-discuss mailing list Lustre-discuss@lists.lustre.org http://lists.lustre.org/mailman/listinfo/lustre-discuss
Re: [Lustre-discuss] Size of MDT, used space
Thomas Roth wrote: Hi all, I'm still in trouble with numbers: the available, used and necessary space on my MDT: According to lfs df, I have now filled my file system with 115.3 TB. All of these files are sized 5 MB. That should be roughly 24 million files. For the MDT, lfs df reports 28.2 GB used. Now I believed that creating a file on Lustre means using one inode on the MDT. Since all of my Lustre partitions were formatted with the default options (all of this is running Lustre v. 1.6.4.3, btw), an inode should eat up 4kB on the MDT partition. Of course, 24 million files times 4 kB gives you 91 GB rather than 28GB. Obviously, there is something I missed completely. Perhaps somebody could illuminate me here? This issue could also be phrased as How large should my MDT be to accommodate n TB storage space? The manual's answer boils down to = number of files * 4 kB (*2 per recommendation). That's how I calculated above - maybe my test system is broken? I can't check on the content of these files, it's just 5MB test files created with the 'stress' utility. Thanks and regards, Thomas The size of the MDS inode depends on the number of stripes. 4.5k is the maximum, 512k the minimum. Actually size varies with number of stripes in the file. So, we advise using 4k as an estimate, as that will cover the vast majority of cases, but actual use in almost all situations will be smaller than 4k. cliffw ___ Lustre-discuss mailing list Lustre-discuss@lists.lustre.org http://lists.lustre.org/mailman/listinfo/lustre-discuss ___ Lustre-discuss mailing list Lustre-discuss@lists.lustre.org http://lists.lustre.org/mailman/listinfo/lustre-discuss
Re: [Lustre-discuss] supporting fcntl, byte-range file locking
Hello! On May 13, 2008, at 12:37 PM, Wei-keng Liao wrote: What versions of Lustre support fcntl for byte-range file locking? Attached is a test program extracted from ROMIO to test fcntl() for locking. It ran fine on some Lustre versions. Certainly many versions, going far back to 1.2 and prior. This functionality is disabled by default though. To enable cluster-consistent fcntl locking you need to mount your lustre fs on a client with -o flock option. If you do not need cluster-consistency, you can mount with -o localflock, it would only be consistent on local node of course, but much faster (only useful for some stupid applications that just test the presence without actually using the functionality, of course, or when no cross-node flock interactions are expected otherwise). This disabled by default case got into effect in 1.4.8, prior to that if you do not use -o flock option, then only locally-consistent locking is provided. Bye, Oleg ___ Lustre-discuss mailing list Lustre-discuss@lists.lustre.org http://lists.lustre.org/mailman/listinfo/lustre-discuss
Re: [Lustre-discuss] supporting fcntl, byte-range file locking
Wei-keng Liao wrote: What versions of Lustre support fcntl for byte-range file locking? Attached is a test program extracted from ROMIO to test fcntl() for locking. It ran fine on some Lustre versions. Wei-keng Lustre has supported flock since 1.4.3. But you need mount with -o flock or localflock(simulate local flock on client, since 1.4.10) to enable the flock on client. Thanks WangDi #include stdio.h #include stdlib.h #include unistd.h #include fcntl.h #include errno.h #include mpi.h static int rank; void ADIOI_Set_lock(int fd, int cmd, int type, long long offset, int whence, long long len) { int err; struct flock lock; char *cmd_str, *type_str; if (len == 0) return; lock.l_type = type; lock.l_whence = whence; lock.l_start = offset; lock.l_len= len; cmd_str = (cmd == F_GETLK )? F_GETLK : ((cmd == F_SETLK )? F_SETLK : ((cmd == F_SETLKW)? F_SETLKW : UNEXPECTED)); type_str = (type == F_RDLCK)? F_RDLCK : ((type == F_WRLCK)? F_WRLCK : ((type == F_UNLCK)? F_UNLOCK : UNEXPECTED)); errno = 0; do { err = fcntl(fd, cmd, lock); } while (err (errno == EINTR)); if (err (errno != EBADF)) printf(%d: File locking failed in (fd %X,cmd %s/%X,type %s/%X,whence %X) with return value %X and errno %X.\n, rank, fd, cmd_str, cmd, type_str, type, whence, err, errno); else printf(%d: File locking succeed in (fd %X,cmd %s/%X,type %s/%X,whence %X)\n, rank, fd, cmd_str, cmd, type_str, type, whence); return; } int main(int argc, char **argv) { int fd, buf[100]; MPI_Init(argc, argv); MPI_Comm_rank(MPI_COMM_WORLD, rank); if (argc != 2) { printf(Usage: %s filename\n, argv[0]); return 1; } if ((fd = open(argv[1], O_CREAT|O_RDWR, 0600)) == -1) { printf(Error: opening file %s\n, argv[1]); return 1; } MPI_Barrier(MPI_COMM_WORLD); ADIOI_Set_lock(fd, F_SETLKW, F_WRLCK, 0, SEEK_SET, 10); write(fd, buf, 100); ADIOI_Set_lock(fd, F_SETLK, F_UNLCK, 0, SEEK_SET, 10); close(fd); MPI_Finalize(); return 0; } ___ Lustre-discuss mailing list Lustre-discuss@lists.lustre.org http://lists.lustre.org/mailman/listinfo/lustre-discuss -- Regards, Tom Wangdi -- Sun Lustre Group System Software Engineer http://www.sun.com ___ Lustre-discuss mailing list Lustre-discuss@lists.lustre.org http://lists.lustre.org/mailman/listinfo/lustre-discuss